【发布时间】:2014-02-03 08:23:43
【问题描述】:
我正在创建一个应用程序,并希望在 iOS 7 中使用相同的 iOS 6 样式从右到左滑动推送控制器动画。iOS 7 更改了默认控制器推送动画。
我怎样才能得到以前的动画?
如果您发现此问题重复,请在发表任何评论之前给我答案链接。
感谢您的宝贵时间。
让我再澄清一件事。
我有一个控制器,在 iOS 7 中有一个自定义视图大小 (320x400)。我使用 UINavigationController (_homeInnerNavigationCtrl) 将添加更多控制器 init,而这个 _homeInnerNavigationCtrl.view 是自定义视图中的子视图。所以当我尝试使用这段代码时:
CATransition *transition = [CATransition animation];
transition.duration = 0.5;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[currentViewCtrl.view.layer addAnimation:transition forKey:nil];
[currentViewCtrl presentViewController:targetCtrl animated:NO completion:^{
[_homeInnerNavigationCtrl pushViewController:targetViewCtrl animated:NO];
}];
它让我崩溃: 由于未捕获的异常“UIViewControllerHierarchyInconsistency”而终止应用,原因:“将根视图控制器添加为视图控制器的子级:”
希望您能理解描述。谢谢。
【问题讨论】:
标签: ios6 uiviewcontroller ios7 uinavigationcontroller pushviewcontroller