推送segue过渡动画是不稳定的

时间:2016-05-27 05:58:27

标签: ios iphone swift uisplitviewcontroller

Push segue transition animation is somewhat choppy < - 该帖子中对该问题的解释完全说明了我的问题:

“我正在使用带有默认动画的push segue进行导航控制器上的转换。但是,动画似乎有些不稳定。在推动新的视图控制器时,源视图控制器向左移动并挂起一半。这样,目标视图控制器出现。“

我的故事板几乎就是这样......

enter image description here

...有以下异常:我的主视图是一个UIViewController,由2个容器视图组成,两个视图都包含UITableViewControllers,两个动态表。从其中一个表中选择将详细信息视图推送到堆栈(与上面的故事板示例相同)。那推动是“波涛汹涌”的动画

与OP的问题一样,主视图正在左半透明的细节视图后面移动,该视图从屏幕右侧移动到视图中。当详细视图完全在视图中时,大约一半的主视图暂时仍在视图后面的视图中,然后消失。

所有其他过渡(推,弹,模态,解散等)都是平滑的。这仅适用于无法同时显示两个拆分视图的设备,因此不适用于iPad。

2 个答案:

答案 0 :(得分:1)

我最近在使用带有嵌入式导航控制器的Master Detail故事板时也遇到了这个问题。当我更改全局色调时,segue的断断续续的动画可能已经开始,但是当我更改为后退时,动画并没有解决。当我将“详细信息视图”屏幕的背景从“默认”更改为其他颜色时,此问题已修复。我发现只要不是默认颜色,它对哪种颜色都没有影响。

答案 1 :(得分:0)

确保您的UI更新位于主线程中,如果代码已经在主队列中,那么如果您使用dispatch_async可能只会产生开销。特别是在prepareForSegue方法或viewWillAppear中,不应该在主线程中导致此类事情的重型代码(应该留在后台线程中)。