NSScreencast Episode #88 Interactive View Controller Transitions
Interactive View Controller Transitions - NSScreencast
スクリーンが上から垂れ下がるようなエフェクトの戻すパターン
- @interface InteractiveSwipe : UIPercentDrivenInteractiveTransition
- @property (nonatomic, strong) UIPanGestureRecognizer *pan;
- [self updateInteractiveTransition:percent];
- [self cancelInteractiveTransition];
- [self finishInteractiveTransition];
- completionSpeed
- return 1 - self.percentComplete;
- switch (pan.state) {
- case UIGestureRecognizerState
- Began
- Changed
- Ended
- Cancelled
- case UIGestureRecognizerState
- wireUpInteraction
- id animator = [self.transitioningDelegate animationControllerForDismissedController:self];
- id interactor = [self.transitioningDelegate interactionControllerForDismissal:animator];
- if ([interactor respondsToSelector:@selector(attachToViewController:)]) {
- [interactor attachToViewController:self];
- SwatchTransition
- animateTransition
- hacky
- [toVC viewWillAppear:YES];
- [toVC viewDidAppear:YES];
- if ([transitionContext transitionWasCancelled]) {
- [transitionContext completeTransition:NO];
- switch case
- break; 忘れない