【问题标题】:Push segue transition animation is choppyPush segue 过渡动画断断续续
【发布时间】:2016-05-27 05:58:26
【问题描述】:

Push segue transition animation is somewhat choppy

“我在导航控制器上使用带有默认动画的 push segue 进行转换。但是,动画似乎有些不稳定。在推动新的视图控制器时,源视图控制器向左移动并挂在中途。片刻之后这样,目标视图控制器就会出现。”

我的故事板差不多是这样的……

...除了以下例外:我的主视图是一个 UIViewController,由 2 个容器视图组成,两个容器视图都包含 UITableViewControllers,都是动态表。从其中一个表中选择会将详细视图推送到堆栈上(与上面的故事板示例相同)。那个推动是“断断续续”的动画

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

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

【问题讨论】:

  • 你在viewDidLoadviewWillAppearprepareForSegue做什么工作?

标签: ios iphone swift uisplitviewcontroller


【解决方案1】:

我最近在使用带有嵌入式导航控制器的主细节故事板时也遇到了这个问题。当我更改全局色调时,segue 的断断续续的动画可能已经开始,但当我更改为 back 时并没有解决。当我将详细信息屏幕视图的背景从默认更改为不同颜色时,该问题已得到解决。我发现只要不是默认颜色,哪种颜色没有任何区别。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-24
      • 2012-02-08
      • 1970-01-01
      相关资源
      最近更新 更多