pop的推送和标准转换的自定义转换

时间:2014-07-06 19:04:06

标签: ios objective-c uiviewcontroller custom-transition

我有一个View控制器,当点击表格单元格时,它具有自定义推送转换,并在点击后退栏按钮项目时执行标准弹出转换。问题是当我尝试从前一个控制器转到相同的视图控制器时,应用程序崩溃了。以下是我实施的UINavigationControllerDelegate功能:

- (id<UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation fromViewController:(UIViewController *)fromVC toViewController:(UIViewController *)toVC
{
    return (operation == UINavigationControllerOperationPush ? animator : nil);
}

任何线索都表示赞赏!

提前致谢。

1 个答案:

答案 0 :(得分:7)

我遇到了一个问题,导航控制器的委托被设置为一个已经解除分配的视图控制器,导致[UINavigationController _customTransitionController:]崩溃。

特别是在使用展开segues时,似乎任何中间视图控制器在获取deallocated之前都不会收到viewWillDisappear回调。这里的补救措施是在目标展开视图控制器中实现以下内容:

-(IBAction)unwindSegue:(UIStoryboardSegue*)segue{
    self.navigationController.delegate = nil;
}