为什么推送另一个视图控制器的动画不流畅?

JsW*_*JsW 4 core-animation uitableview ios

我在每个单元格上都有一个表视图和集合视图。
当我点击单元格时,将在单元格的方法中调用以下代码didSelectRowAt:IndexPath

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        navigationController?.pushViewController(anotherViewController(), animated: true)

    }
Run Code Online (Sandbox Code Playgroud)

anotherViewController目前故事板上是一个空的视图控制器。它只打印“我来了” viewDidLoad()
问题是这样的: 当我触摸单元格时,推送动画似乎卡住了,请检查下面的 GIF。
我对所发生的事情真的很困惑。
请随时提供任何建议。

下图显示了视图层次结构。
表视图上的单元格。
集合视图和单元格内容视图上的其他组件。
最后,集合视图的内容视图上的图像视图。

查看层次结构

AW5*_*AW5 8

我的解决方案是显式设置新视图控制器的背景颜色,即使它是黑色的。我遇到了同样的问题,因为我没有使用故事板,所以这就是我的解决方案。

  • 很奇怪,但这个解决方案确实对我有用。在 iOS = 10 中出现此问题,在 iOS>10 中工作正常,但没有此 hack。接得好 :)) (2认同)