[英]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.