移除所有子視圖控制器

//移除所有子視圖控制器

- (void)removeAllChildViewControllers{

? ? for (UIViewController *vc in self.childViewControllers) {

? ? [vc willMoveToParentViewController:nil];

? ? [vc removeFromParentViewController];

? }

}

/

*? 方法說明:

*? 1、addChildViewController:向父VC中添加子VC,添加之后自動調用willMoveToParentViewController:父VC

*? 2、removeFromParentViewController:將子VC從父VC中移除,移除之后自動調用

didMoveToParentViewController:nil

*? 3、willMoveToParentViewController:? 當向父VC添加子VC之后,該方法會自動調用。若要從父VC移除子VC,需要在移除之前調用該方法,傳入參數nil。

*? 4、didMoveToParentViewController:? 當向父VC添加子VC之后,該方法不會被自動調用,需要顯示調用告訴編譯器已經完成添加(事實上不調用該方法也不會有問題,不太明白); 從父VC移除子VC之后,該方法會自動調用,傳入的參數為nil,所以不需要顯示調用。

*/

/

*? 注意點:

要想切換子視圖控制器a/b,a/b必須均已添加到父視圖控制器中,不然會報錯

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容