Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.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
Iphone 如何从中正确删除视图';如果不再需要,请选择superview?_Iphone_Cocoa Touch_Uikit - Fatal编程技术网

Iphone 如何从中正确删除视图';如果不再需要,请选择superview?

Iphone 如何从中正确删除视图';如果不再需要,请选择superview?,iphone,cocoa-touch,uikit,Iphone,Cocoa Touch,Uikit,苹果说: removeFromSuperview取消与 它的superview和它的 窗口,并将其从 响应链 (无效)从SuperView中移除 在运行时不要调用此方法 展示 所以在我叫它之前,我应该叫setHidden:是吗?够了吗?哇。我以前从未在文档中看到过这样的注释,我只是对我编写的一些代码有点害怕:) 大家的共识是,这是一个措辞拙劣的句子,在显示/绘制某些内容的过程中,不应调用此方法。但是如果它当前显示,那么它就可以了 不过,我真的建议你向苹果公司咨询这方面的指导。这个警告是存在

苹果说:

removeFromSuperview取消与 它的superview和它的 窗口,并将其从 响应链

  • (无效)从SuperView中移除
在运行时不要调用此方法 展示


所以在我叫它之前,我应该叫setHidden:是吗?够了吗?

哇。我以前从未在文档中看到过这样的注释,我只是对我编写的一些代码有点害怕:)

大家的共识是,这是一个措辞拙劣的句子,在显示/绘制某些内容的过程中,不应调用此方法。但是如果它当前显示,那么它就可以了


不过,我真的建议你向苹果公司咨询这方面的指导。

这个警告是存在的,这样你就不会在
drawRect:
方法中调用
removeFromSuperview
。Cocoa运行时在绘图操作期间广泛使用视图层次结构,因此在绘图时从其superview中删除视图确实会把事情搞砸


在任何其他时间调用
removeFromSuperview
都可以,而且在删除视图之前不需要隐藏视图。

是有意义的。也许他们应该写“画图时”而不是“显示时”;-)你可能是对的:)我为
NSView
文档填写了“文档回馈”表格,以通知苹果公司混淆情况。所有苹果的开发者文档在页面的最底部都有反馈链接。如果你遇到这样的事情,很可能其他人也会感到困惑,因此强烈建议填写反馈表。它可能来自显示/显示层:方法名称。