簡體   English   中英

如何卸載uiview

[英]how to unload a uiview

我目前正在使用這個if if statment來檢查是否加載了uiview,如果這個判斷工作正常的話......

    if (!myviewName.isViewLoaded) {
         //not loaded so load my view

    }
    else (myviewName.isViewLoaded){
         //is loaded so remove my view (unload)

    }

但是,當我嘗試刪除視圖時,我不認為我正確地執行它,因為在第一次加載視圖后,我永遠無法輸入if語句的第一部分...

這是其他內部的代碼(myviewName.isViewLoaded){

[myviewName removeFromParentViewController];
   [animatedActionView removeFromSuperview]; 

我使用removeFromParentViewController的原因是因為我已經將myviewName添加為animatedActionView的子視圖,就像這樣

[animatedActionView addSubview:b1VC.view];
[navigationController.view insertSubview:animatedActionView belowSubview:tabbarView];

animatedActionView作為子視圖添加到我的navigationcontroller中,我將它放在我的tabbarview后面,這也是我的navigationcontroller上的子視圖。

希望這一切都有意義..只是重復我的問題,我如何刪除一個視圖,以便它將訪問if(!myviewName.isViewLoaded){正確。

任何幫助,將不勝感激。

更新:根據回復,我被要求解釋我想要做的更詳細的事情,我將在這里做。

所以,我的原始項目有一個NavController控制我項目第一部分所需的所有視圖(查詢數據庫)我的項目的第二部分是顯示噸或數據。

因此,我在一個新項目中對我的最終觀點進行了原型設計,以解決我可能遇到的所有問題,並希望以一種不會被蘋果拒絕的方式來實現。

因此,當我到達navController的最終視圖時,我正在其中加載另一個navController。 (這會讓我被拒絕嗎?)

這個(sub)navController我將其稱為otherNav將控制最終視圖,它將加載幾個不同的detailViewController,其中包含一個特殊的滑動過渡動畫,用戶可以在詳細視圖之間左右滑動。

我還添加了一個tabBar(在它自己的viewcontroller中)作為othernav的子視圖,當用戶在詳細視圖之間切換時我計划根據視圖更改tabBar圖標,因此當用戶從一個細節視圖滑動到另一個細節視圖時之前的圖標將淡出,新圖標將淡入。

最后我有幾個其他的viewcontrollers我稱之為actionViews(這是我的問題所在),它們作為子視圖加載/插入到otherNav上,但放在tabBar后面,並在選擇和取消選擇tabbar按鈕時上下滑動。

這是所有視圖的圖形表示以及它們如何位於屏幕上。

在此輸入圖像描述

您需要處理myViewName的視圖:

[myViewName.view removeFromSuperview];
myViewName.view = nil;

暫無
暫無

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

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