繁体   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