- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
TaskDetailViewController *detailViewController = segue.destinationViewController;
detailViewController.task = sender;
// create animator object with instance of modal view controller
// we need to keep it in property with strong reference so it will not get release
self.animator = [[ZFModalTransitionAnimator alloc] initWithModalViewController:detailViewController];
self.animator.dragable = YES;
self.animator.direction = ZFModalTransitonDirectionBottom;
[self.animator setContentScrollView:detailViewController.scrollview];
// set transition delegate of modal view controller to our object
detailViewController.transitioningDelegate = self.animator;
// if you modal cover all behind view controller, use UIModalPresentationFullScreen
detailViewController.modalPresentationStyle = UIModalPresentationCustom;
}
ScrollView
If you have scrollview in the modal and you want to dismiss modal by drag it, you need to set scrollview to ZFModalTransitionAnimator instance.
ZFDragableModalTransition
Usage
ScrollView
If you have scrollview in the modal and you want to dismiss modal by drag it, you need to set scrollview to ZFModalTransitionAnimator instance.
Direction
You can set that which direction will our modal present. (default is ZFModalTransitonDirectionBottom)
P.S. Now you can set content scrollview only with ZFModalTransitonDirectionBottom
Requirements
Installation
ZFDragableModalTransition is available through CocoaPods. To install it, simply add the following line to your Podfile:
FAQ
How can I show modal only part of view ?
The current ViewController’s view still visible behind the modal, so you just set transparent color to background view.
Author
Amornchai Kanokpullwad, @zoonref
Swift Version
by @dimohamdy ZFDragableModalTransitionSwift
License
ZFDragableModalTransition is available under the MIT license. See the LICENSE file for more info.