Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从Springboard添加和删除UIView_Ios_Objective C_Uiview_Uiwindow - Fatal编程技术网

Ios 从Springboard添加和删除UIView

Ios 从Springboard添加和删除UIView,ios,objective-c,uiview,uiwindow,Ios,Objective C,Uiview,Uiwindow,我正在开发一个小微软调整,增加了对跳板的看法。我希望它能不断更新,所以我把它叫做 - (void)showSpringBoardStatusBar 然后,我使用以下方法创建并添加视图: [[UIApplication sharedApplication].keyWindow addSubview:view1]; 这条路对吗 但问题是,该视图使用较低的alpha级别来保持透明,并且每次通过ShowSpringboard状态栏更新视图时,都会在其中添加另一个UIView,最终只是使视图成为实体。

我正在开发一个小微软调整,增加了对跳板的看法。我希望它能不断更新,所以我把它叫做

- (void)showSpringBoardStatusBar
然后,我使用以下方法创建并添加视图:

[[UIApplication sharedApplication].keyWindow addSubview:view1];
这条路对吗

但问题是,该视图使用较低的alpha级别来保持透明,并且每次通过ShowSpringboard状态栏更新视图时,都会在其中添加另一个UIView,最终只是使视图成为实体。这在记忆方面也是不经济的。然后我又回去添加了一个我认为可以删除代码的东西:

 view1 = nil;
[view1 removeFromSuperview];
但这似乎没有什么区别,因为它仍然存在,没有任何变化。 在过去的几天里,我一直在寻找任何能帮助我解决这个问题的方法,但什么都没有得到。我所能想到的是,我不能像从普通视图中删除子视图那样从关键窗口删除添加的子视图,或者我不知道如何正确地执行


任何帮助都将不胜感激。谢谢。

将view1设置为零,然后调用“removeFromSuperView”可能是个坏主意。只添加一次视图,保留一个引用并不断更新此引用,而不将其再次添加到keyWindow,怎么样?

我不能回答整个问题,但您应该调用
[view1 removeFromSuperview]在调用
view1=nil之前。如果先以编写view1变量的方式将其置零,那么removeFromSuperview方法将不会执行任何操作。