参与者:
A
和C
是具有扎实背景的视图控制器。没有更改默认设置。B
是一个半透明背景的视图控制器。它应该覆盖它呈现的视图控制器的一部分。 ModalPresentation样式为overFullScreen
短篇小说:A
展示B
,B
展示C
。永远不会在viewWillDisappear
A
长篇故事:
A
在屏幕上A
向B
部分发出以下电话:self.present(B, animated: true)
A
和B
。 <{1}}的{{1}}方法是不是,这是预期的,因为它仍然可见viewWillDisappear
向A
部分发出以下电话:B
C
出现在屏幕上,涵盖了所有内容,它的演示模式为self.present(C, animated: true)
。 C
已从视图层次结构中删除。 fullscreen
的{{1}}方法称为B
仍然存在且viewWillDisappear
从未在B
上调用,但它不可见,因为它被全屏视图控制器覆盖。我希望A
与viewWillDisappear
一起从层次结构中删除,因为A
视图控制器覆盖了所有A
。
这是UIKit的错误还是我做错了?
答案 0 :(得分:0)
Per the documentation,这是UIModalPresentationStyle.overFullScreen
的预期行为。另一种风格 - .fullScreen
- 似乎更接近你想要的行为。