我目前正在使用这个 if 语句来检查是否加载了 uiview,这个 if 语句可以正常工作..
if (!myviewName.isViewLoaded) {
//not loaded so load my view
}
else (myviewName.isViewLoaded){
//is loaded so remove my view (unload)
}
但是,当我尝试删除视图时,我认为我做的不正确,因为在第一次加载视图后我永远无法输入 if 语句的第一部分......
这是else 里面的代码 (myviewName.isViewLoaded){
[myviewName removeFromParentViewController];
[animatedActionView removeFromSuperview];
我使用removeFromParentViewController的原因是因为我添加了 myviewName 作为animatedActionView 的子视图,就像这样
[animatedActionView addSubview:b1VC.view];
[navigationController.view insertSubview:animatedActionView belowSubview:tabbarView];
animatedActionView 作为子视图添加到我的导航控制器中,我将它放在我的 tabbarview 后面,这也是我的导航控制器上的子视图。
希望这一切都有意义.. 只是重复我的问题,我如何删除视图以便它可以访问if (!myviewName.isViewLoaded) {正确。
任何帮助,将不胜感激。
更新:根据回复,我被要求更详细地解释我要做什么,我将在这里做。
所以,我的原始项目有一个 NavController 控制我项目第一部分(查询数据库)所需的所有视图,我项目的第二部分显示大量数据。
所以我在一个新项目中对我的最终视图进行原型设计,以解决我可能遇到的所有问题,并希望以一种不会被苹果拒绝的方式来做。
因此,当我到达导航控制器的最终视图时,我正在其中加载另一个导航控制器。(这会让我被拒绝吗?)
这个(子)navController 我将称为 otherNav 将控制最终视图,它将加载几个不同的 detailViewController 并带有特殊的滑动过渡动画,用户将能够在详细视图之间左右滑动。
我还添加了一个 tabBar(在它自己的视图控制器中)作为 othernav 的子视图,当用户在详细视图之间转换时,我计划根据视图更改 tabBar 图标,因此当用户从一个详细视图滑动到另一个时以前的图标会淡出,新的图标会淡入。
最后,我还有其他几个视图控制器,我称之为 actionViews(这是我的问题所在),它们作为子视图加载/插入到 otherNav 上,但放置在 tabBar 后面,并在选择和取消选择 tabbar 按钮时上下滑动。
这是所有视图的图形表示以及它们在屏幕上的位置。