【发布时间】:2016-01-22 14:18:35
【问题描述】:
我正在尝试将下面的代码转换为 swift
- (id <UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController
animationControllerForOperation:(UINavigationControllerOperation)operation
fromViewController:(UIViewController *)fromVC
toViewController:(UIViewController *)toVC
{
// minimum implementation for example
RMPZoomTransitionAnimator *animator = [[RMPZoomTransitionAnimator alloc] init];
animator.goingForward = (operation == UINavigationControllerOperationPush);
animator.sourceTransition = (id<RMPZoomTransitionAnimating>)fromVC;
animator.destinationTransition = (id<RMPZoomTransitionAnimating>)toVC;
return animator;
}
到目前为止我已经成功转换,但我想知道我应该如何转换这个(id<RMPZoomTransitionAnimating>)fromVC
func navigationController(navigationController: UINavigationController, animationControllerForOperation operation: UINavigationControllerOperation, fromViewController fromVC: UIViewController, toViewController toVC: UIViewController) -> UIViewControllerAnimatedTransitioning? {
let animator: RMPZoomTransitionAnimator = RMPZoomTransitionAnimator();
animator.goingForward = (operation == UINavigationControllerOperation.Push);
animator.sourceTransition = fromVC as! RMPZoomTransitionAnimating;//DOESN'T COMPILE
animator.destinationTransition = toVC as! RMPZoomTransitionAnimating;//DOESN'T COMPILE
return animator;
}
我不知道那叫什么。知道那是什么吗? 我试着投它,但它不起作用
【问题讨论】:
标签: ios objective-c swift uinavigationcontroller