第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

View Controller Containment如何在iOS 5中工作?

View Controller Containment如何在iOS 5中工作?

iOS
慕俠2389804 2019-12-10 13:08:31
在2011年WWDC會話102,蘋果推出視圖控制器遏制,這是創(chuàng)建定制的視圖控制器容器的能力,類似于UITabBarController,UINavigationController和類似物。我看了幾次例子。有很多與此模式相關(guān)的方法,但是要準(zhǔn)確地找出它們有點(diǎn)困難。我將在這里發(fā)布我的想法,看看社區(qū)是否會證實(shí)或懷疑我的懷疑。方案1:從無父視圖移到新的父視圖控制器[vc willMoveToParentViewController:self];[self addChildViewController:vc];[self.view addSubview:vc.view]; // or something like this.[vc didMoveToParentViewController:self];前兩行是否必須按照給定的順序出現(xiàn),或者可以顛倒嗎?方案2:從父視圖控制器移動到無父視圖控制器[vc willMoveToParentViewController:nil];[vc.view removeFromSuperview];[vc removeFromParentViewController];也有必要打電話[vc didMoveToParentViewController:nil]嗎?在這種情況下,Session 102中的示例沒有這樣做,但是我不知道這是否是遺漏。方案3:從一個父視圖控制器移動到另一個這很可能會以以下方式發(fā)生,因?yàn)槊總€父視圖控制器中的邏輯都將被封裝。// In the old parent[vc willMoveToParentViewController:nil];[vc.view removeFromSuperview];[vc removeFromParentViewController];// In the new parent[vc willMoveToParentViewController:self];[self addChildViewController:vc];[self.view addSubview:vc.view];[vc didMoveToParentViewController:self];問題我的主要問題是:通常,這是視圖控制器包含區(qū)的工作方式嗎?上面給出的機(jī)制正確嗎?打電話willMoveToParentViewController之前有必要打電話addChildViewController嗎?在我看來,這似乎是合乎邏輯的順序,但這是否絕對必要?打電話didMoveToParentViewController:nil后有必要打電話removeFromParentViewController嗎?
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個贊

該UIViewController文檔很清楚何時以及何時不調(diào)用willMove/ didMove方法。查閱“實(shí)施Container View Controller”文檔。


文檔說,如果不重寫addChildViewController,則不必調(diào)用 willMoveToParentViewController:method。但是,您確實(shí)需要didMoveToParentViewController:在轉(zhuǎn)換完成后調(diào)用該方法?!巴瑯樱萜饕晥D控制器有責(zé)任在調(diào)用willMoveToParentViewController:方法之前先調(diào)用該removeFromParentViewController方法。該removeFromParentViewController方法將調(diào)用didMoveToParentViewController:子視圖控制器的方法?!?/p>


此外,還有制定了一個例子在這里和示例代碼在這里。


祝好運(yùn)



查看完整回答
反對 回復(fù) 2019-12-11
?
眼眸繁星

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個贊

注意:如果您要移動的項(xiàng)目是具有被覆蓋的自定義類(除非您的覆蓋在內(nèi)部對其進(jìn)行了調(diào)用),您確實(shí)需要在致電willMoveToParentViewController之前addChildViewControlleraddChildViewController

查看完整回答
反對 回復(fù) 2019-12-11
  • 3 回答
  • 0 關(guān)注
  • 651 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號