Tag: 自定义转换

导航控制器顶部布局指南不符合自定义过渡

简洁版本: 在自定义转换和iOS7中的UINavigationController中使用自动布局顶部布局指南时遇到问题。 具体而言,顶部布局指南和文本视图之间的约束不被遵守。 有没有人遇到过这个问题? 长版本: 我有一个明确定义约束的场景(即顶部,底部,左侧和右侧),呈现如下所示的视图: 但是,当我在导航控制器上使用这个自定义转换时,顶部布局指南的顶部约束似乎closures,呈现如下,就好像顶部布局指南位于屏幕顶部而不是底部的导航控制器: 在使用自定义转换时,导航控制器的“顶层布局指南”会变得混乱。 剩下的约束正在正确应用。 如果我旋转设备并再次旋转,一切都会突然呈现正确,所以看起来不是约束没有被正确定义的问题。 同样,当我closures我的自定义转换时,视图呈现正确。 话虽如此, _autolayoutTrace报告说, UILayoutGuide对象遭受AMBIGUOUS LAYOUT ,当我运行: (lldb) po [[UIWindow keyWindow] _autolayoutTrace] 但是,即使我已经确保没有缺less约束(我已经完成了习惯select视图控制器并select“为视图控制器添加缺less的约束”或select全部的控制,并为他们做同样的)。 就我如何精确转换而言,我已经在animationControllerForOperation方法中指定了一个符合UIViewControllerAnimatedTransitioning的对象: – (id<UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController animationControllerForOperation:(UINavigationControllerOperation)operation fromViewController:(UIViewController*)fromVC toViewController:(UIViewController*)toVC { if (operation == UINavigationControllerOperationPush) return [[PushAnimator alloc] init]; return nil; } 和 @implementation PushAnimator – (NSTimeInterval)transitionDuration:(id <UIViewControllerContextTransitioning>)transitionContext { return 0.5; } – (void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext { UIViewController* […]

导航控制器自定义转换animation

我一直在遵循一些教程来创build自定义animation,同时从一个视图转换到另一个视图。 我的testing项目使用自定义segue从这里工作正常,但有人告诉我,不再鼓励自定义赛格内做自定义animation,我应该使用UIViewControllerAnimatedTransitioning 。 我遵循了几个使用这个协议的教程,但都是关于模态表示的(例如本教程 )。 我想要做的是在导航控制器树中推push,但是当我尝试用show(push)segue做同样的事情时,它不再工作。 请告诉我在导航控制器中执行从一个视图到另一个视图的自定义过渡animation的正确方法。 无论如何,我可以使用所有过渡animation的一种方法吗? 如果有一天我想要做相同的animation,但是最终不得不复制代码两次,才能在模态与控制器之间进行转换,那将会很尴尬。