【发布时间】:2017-06-14 18:57:51
【问题描述】:
参与者:
-
A和C是具有纯色背景的视图控制器。默认设置没有任何变化。 -
B是一个具有半透明背景的视图控制器。它应该覆盖它所呈现的视图控制器的一部分。 ModalPresentation 样式为overFullScreen
短篇小说:A 呈现B,B 呈现C。 viewWillDisappear 永远不会被 A 调用
长篇大论:
-
A在屏幕上 -
A呈现B并拨打以下电话:self.present(B, animated: true) -
A和B在屏幕上都可见。A的viewWillDisappear方法未调用,这是预期的,因为它仍然可见 -
B提出C并拨打以下电话:self.present(C, animated: true) -
C出现在屏幕上,涵盖了一切,它的演示模式是fullscreen。 -
B已从视图层次结构中移除。调用B的viewWillDisappear方法 - 检查视图层次结构我可以看到
A仍然存在,并且从未在A上调用viewWillDisappear,但它也不可见,因为它被全屏视图控制器覆盖。
我希望 A 与 B 一起从层次结构中删除,因为如果被 fullscreen 视图控制器覆盖,它们都不可见。
是 UIKit 的 bug 还是我做错了?
【问题讨论】: