推送 View Controller 时出现断断续续的过渡

Posted

技术标签:

【中文标题】推送 View Controller 时出现断断续续的过渡【英文标题】:Choppy transition when pushing View Controller 【发布时间】:2016-08-29 18:54:08 【问题描述】:

以前有人问过这个问题,但我还没有找到我的问题的答案。它只是一个简单的表格,其中包含单元格,当单击时将视图控制器推送到导航堆栈上:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    DetailViewController *dvc = [[DetailViewController alloc] init];

    [self.navigationController pushViewController:dvc animated:YES];


做了很多次都没有问题,但这一次,它在中途停止了一秒钟,并且还有一种奇怪的灰色来来去去。我已经检查过,没有为背景设置颜色,而且新的 VC 中还没有任何代码,所以加载太多代码不是问题。 我看过,有些人也遇到过同样的问题,甚至有人发布了这个问题的 Gif:

UINavigationController pushViewController pauses/freezes midway through

这是 Apple 的错误吗?

谢谢

【问题讨论】:

从 UITableViewController 的视图控制器转换时,我看到的情况完全相同。所以我认为它一个苹果的错误。 (无论如何,请制作一个简单的示例项目并向 Apple 提交错误报告。) 【参考方案1】:

正如您发布的链接所暗示的那样,您的 DetailViewController 的背景是否设置为清除颜色?将 DetailViewController 的背景颜色设置为黑色或某种颜色,您将不会在中途看到这个“暂停”。是的,当使用清晰的彩色背景时,它看起来像是一些有趣的行为。希望这会有所帮助,祝你好运。

【讨论】:

您好,感谢您的输入,不幸的是,背景颜色并不能解决问题。我试过设置为白色、黑色等...仍然不稳定。 好的,你能发布一个动画的 gif 或者与链接中发布的相同吗?你能在 github 上发布一个示例项目吗? 如果你愿意,我可以发布它,但它与 gif 完全相同。相同的灰色相同的时间等...我稍后会在github上发布示例项目 酷,是的,如果它是相同的,则无需发布 gif。太棒了,如果你在 github 上发布一个示例,我可以看看。【参考方案2】:

对我有帮助的只是直接将新控制器的背景颜色设置为白色或您需要的任何颜色。 正如您所提到的,这将强制您的新控制器隐藏此行为。

斯威夫特 4.2

【讨论】:

以上是关于推送 View Controller 时出现断断续续的过渡的主要内容,如果未能解决你的问题,请参考以下文章

将 g 711 数据包转换为 wav 文件时出现断断续续的声音

在 HTC One 上以 16khz 单声道 PCM (WAV) 录制时出现断断续续的音频

从 Table View Controller 转到 Master Detail Controller

是否可以使用完成块推送View Controller?

如何在没有导航栏的 View Controller 内使用 Nav 推送 UIViewController

推送通知点击获取 url 并在 View Controller , iOS , Swift4.2 中显示