iOS 10,不断打破的礼物,似乎改变了另一种行为。
假设两个 UIViewController 被推送到一个 UINavigationController 上。
在 iOS 8/9 上,调用navigationController?.popViewController(animated: true)
弹出顶部 UIViewController(比如 VC2)会导致viewDidLayoutSubviews
底部视图控制器(比如 VC1)被调用。
我们依靠这个来刷新VC1。有时 VC2 向 VC1 添加子视图(通过数据模型),这需要在弹出回 VC1 时反映出来。
需要准确的帧信息。我们无法使用viewWillAppear
,因为iOS 9 上的帧数据错误。问题viewDidAppear
是在最初看到视图和调整之间存在短暂的故障。
viewDidLayoutSubviews
现在弹出 VC2 时不会调用VC1 。
1)这是一个viewDidLayoutSubviews
不能被调用的错误吗?
2) 使用 UINavigationController 弹出时刷新视图控制器的正确方法是什么?