簡體   English   中英

viewWillAppear沒有調用UISplitViewController的detailView

[英]viewWillAppear not getting called for detailView of UISplitViewController

我正在嘗試使用針對iPad推出的splitViewController,並且我陷入困境。 我在splitViewController的詳細視圖上有一個按鈕,單擊打開模態視圖。 現在我想在模態視圖被忽略時更改詳細視圖上的UI控件的位置。

一個非常明顯的方法是在detailView的ViewWillAppear方法中捕獲視圖轉換。 但在這種情況下,它並沒有被調用。 我記得在tabBarController中遇到同樣的問題,在調用每個標簽項的viewWillAppear之前需要設置[tabBarController viewWillAppear:animated]。 我嘗試使用splitViewController也這樣做,但這似乎不起作用。

有任何想法嗎??

如果由於模態視圖中發生的操作而需要定位,則應使用顯式委托回調。 這將允許您清楚地指定應用程序的控制流程和結果行為。

然后,您應該定義一個具有特定方法的協議,這些方法帶有有關所采取操作的相關信息。 當動作發生在模態中時,在委托上執行協議方法,它可以對該事件作出反應(對你而言,它似乎是按鈕定位的重新布局)。

要了解足以處理泛型模態行為的抽象方法,請查看UIAlertViewDelegate協議。 在這里,當委員決定不采取任何行動時,委托將獲得alertViewCancel:消息,或者當他們選擇向他們提供的選項之一時, alertView:didDismissWithButtonIndex:

這是如何定義協議的良好開端。

如果您需要許多視圖控制器來響應模態中采取的操作,比如登錄模式,那么更好的機制就是通知。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM