[英]Is there a way to know if a UIViewController has been presented and dismissed modally ?
有没有办法知道UIViewController是否已经以模态方式呈现和解散?
就像是:
谢谢
没有内置的东西,但视图控制器可以在接收到viewDidAppear
和/或viewWillDisappear
检查它是否有一个parentViewController
,因为根据Apple的文档 (重点添加):
父视图控制器与导航,选项卡栏和模态视图控制器层次结构相关。 在每个层次结构中,父级是负责显示当前视图控制器的对象。 如果您将视图控制器用作独立对象(即不是视图控制器层次结构的一部分),则此属性中的值为nil。
如果有,那么它可以设置合适的标志以供将来参考。
请注意,以模态呈现不同于真正的模态。 例如,在iPad上你可能会将一个控制器放在UIPopoverController
,这样控制器就不会以模态方式呈现,但是它可能会以模态方式呈现另一个控制器。 因此,第二个控制器以模态方式呈现,但本身并不是模态对话,因为 - 如果程序以其他方式适当设置 - 用户可以完全忽略弹出窗口。
检查你的UIViewController的parentViewController
属性是否为nil
。 如果该财产是nil
那么它被解雇,否则它被呈现。
注意:UITableViewController的childViewController的parentViewController
属性也不是nil
,你还应该确保parentViewController不是UITableViewController。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.