[英]Call parent View controller function from container view
我有一個容器視圖,它根據用戶操作在里面執行幾個segue。 我還有一個頂級UIView,我想從容器視圖segue中控制並設置它的狀態。
我試圖使用協議設置委托人到家庭控制器,還有以下方法:
if let parent = self.parent as? HomeController {
parent.handleTopBarState(state: .web)
}
我想要發生的是當我在特定的視圖控制器上時,設置父視圖控制器的頂部條視圖的狀態。
謝謝。
如果您已添加子視圖控制器,則只需使用self.parent即可訪問。 如果let和cast,請確保將其放入
if let parent = self.parent as? ParentViewController {
parent.resetItemsCollectionView()
}
如果在另一個視圖控制器上嵌入了視圖控制器,則可以通過多種方式向其父視圖控制器發送消息。
var
,並在prepare(for segue: UIStoryboardSegue, sender: Any?)
函數上指定父類,並調用父類的任何公共方法。 prepare(for segue: UIStoryboardSegue, sender: Any?)
中將父級設置為子級的協議對象prepare(for segue: UIStoryboardSegue, sender: Any?)
,並prepare(for segue: UIStoryboardSegue, sender: Any?)
調用協議方法。 NotificationCenter
,並觀察父母的通知。 NotificationCenter
文檔 ,您可以在這里找到使用它的簡短示例。 希望這可以幫助!
PS:你也可以在父vc中觀察孩子的屬性,如果你想這樣,我可以解釋一下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.