WorldDownTown / Zoomtransitioning
Licence: mit
ZoomTransitioning provides a custom transition with image zooming animation and swiping the screen edge.
Stars: ✭ 670
Programming Languages
swift
15916 projects
Projects that are alternatives of or similar to Zoomtransitioning
Gradientview
Easily use gradients in UIKit for iOS & tvOS
Stars: ✭ 610 (-8.96%)
Mutual labels: cocoapods, carthage
Kydrawercontroller
Side Drawer Navigation Controller similar to Android
Stars: ✭ 632 (-5.67%)
Mutual labels: cocoapods, carthage
Sdwebimage
Asynchronous image downloader with cache support as a UIImageView category
Stars: ✭ 23,928 (+3471.34%)
Mutual labels: cocoapods, carthage
Multiprogressview
📊 An animatable view that depicts multiple progresses over time. Modeled after UIProgressView
Stars: ✭ 614 (-8.36%)
Mutual labels: cocoapods, carthage
Interactivesidemenu
iOS Interactive Side Menu written in Swift.
Stars: ✭ 668 (-0.3%)
Mutual labels: cocoapods, carthage
Stlocationrequest
Request the Location Services via a 3D 360° flyover MKMapView 🗺
Stars: ✭ 636 (-5.07%)
Mutual labels: cocoapods, carthage
Sidemenu
Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less.
Stars: ✭ 5,267 (+686.12%)
Mutual labels: cocoapods, carthage
Bow
🏹 Bow is a cross-platform library for Typed Functional Programming in Swift
Stars: ✭ 538 (-19.7%)
Mutual labels: cocoapods, carthage
Pdfgenerator
A simple generator of PDF written in Swift.
Stars: ✭ 629 (-6.12%)
Mutual labels: cocoapods, carthage
Urlembeddedview
URLEmbeddedView automatically caches the object that is confirmed the Open Graph Protocol.
Stars: ✭ 633 (-5.52%)
Mutual labels: cocoapods, carthage
Swiftoverlays
SwiftOverlays is a Swift GUI library for displaying various popups and notifications
Stars: ✭ 621 (-7.31%)
Mutual labels: cocoapods, carthage
Jlroutes
URL routing library for iOS with a simple block-based API
Stars: ✭ 5,528 (+725.07%)
Mutual labels: cocoapods, carthage
Guitar
A Cross-Platform String and Regular Expression Library written in Swift.
Stars: ✭ 641 (-4.33%)
Mutual labels: cocoapods, carthage
Orsserialport
Serial port library for Objective-C and Swift macOS apps
Stars: ✭ 609 (-9.1%)
Mutual labels: cocoapods, carthage
Sablurimageview
You can use blur effect and it's animation easily to call only two methods.
Stars: ✭ 538 (-19.7%)
Mutual labels: cocoapods, carthage
Swiftinstagram
Instagram API client written in Swift
Stars: ✭ 570 (-14.93%)
Mutual labels: cocoapods, carthage
Anim
Swift animation library for iOS, tvOS and macOS.
Stars: ✭ 520 (-22.39%)
Mutual labels: cocoapods, carthage
Swiftframeworktemplate
A template for new Swift iOS / macOS / tvOS / watchOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file
Stars: ✭ 527 (-21.34%)
Mutual labels: cocoapods, carthage
ZoomTransitioning
Overview
ZoomTransitioning
provides a custom transition with image zooming animation.
When you use this library with UINavigationController
, you can pop view controller with edge swiping.
Demo
Run the demo project in the Demo directory without carthage update
or pod install
.
Usage
Refer to the example project for details.
import ZoomTransitioning
ZoomTransitionSourceDelegate
to source view controller
Adopt extension ImageListViewController: ZoomTransitionSourceDelegate {
func transitionSourceImageView() -> UIImageView {
return selectedImageView
}
func transitionSourceImageViewFrame(forward forward: Bool) -> CGRect {
return selectedImageView.convertRect(selectedImageView.bounds, toView: view)
}
func transitionSourceWillBegin() {
selectedImageView.hidden = true
}
func transitionSourceDidEnd() {
selectedImageView.hidden = false
}
func transitionSourceDidCancel() {
selectedImageView.hidden = false
}
}
ZoomTransitionDestinationDelegate
to destination view controller
Adopt extension ImageDetailViewController: ZoomTransitionDestinationDelegate {
func transitionDestinationImageViewFrame(forward forward: Bool) -> CGRect {
if forward {
let x: CGFloat = 0.0
let y = topLayoutGuide.length
let width = view.frame.width
let height = width * 2.0 / 3.0
return CGRect(x: x, y: y, width: width, height: height)
} else {
return largeImageView.convertRect(largeImageView.bounds, toView: view)
}
}
func transitionDestinationWillBegin() {
largeImageView.hidden = true
}
func transitionDestinationDidEnd(transitioningImageView imageView: UIImageView) {
largeImageView.hidden = false
largeImageView.image = imageView.image
}
func transitionDestinationDidCancel() {
largeImageView.hidden = false
}
}
delegate
property of UINavigationController
set import ZoomTransitioning
class NavigationController: UINavigationController {
private let zoomNavigationControllerDelegate = ZoomNavigationControllerDelegate()
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
delegate = zoomNavigationControllerDelegate
}
}
Requirements
- Swift 4.0
- iOS 9.0 or later
If you use Swift 2.2, use 1.3.0
Installation
Carthage
ZoomTransitioning is available through Carthage. To install it, simply add the following line to your Cartfile:
github "WorldDownTown/ZoomTransitioning"
CocoaPods
ZoomTransitioning is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'ZoomTransitioning'
Manually
- Download and drop
/ZoomTransitioning
folder in your project. - Congratulations!
Author
WorldDownTown, [email protected]
License
ZoomTransitioning is available under the MIT license. See the LICENSE file for more info.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].