我有一个UIView元素,我将其添加到主视图控制器.
由于我的代码设计,所以在我的代码的不同位置调用removeFromSuperview两次.
[myview removeFromSuperview];
Run Code Online (Sandbox Code Playgroud)
这就是我的代码,所以我想知道调用'removeFromSuperview'是否会导致任何问题.
或者我如何检查视图是否在superview中,只删除它.
例如
if (myview in superview)
[myview removeFromSuperview];
else
do nothing
Run Code Online (Sandbox Code Playgroud)
该文档removeFromSuperview告诉以下内容:
如果接收者的超级视图不是零,则超级视图释放接收者.如果您计划重用视图,请务必在调用此方法之前保留它,并在以后适当时再次释放它.
这意味着不会发生崩溃或副作用,并且已经通过此方法的实现执行了您正在询问的检查.
但是,如果您需要检查您的视图是否作为子视图添加到其他视图,则可以使用以下代码:
if( theView.superview != nil )
{
// theView is a subview for some view
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2235 次 |
| 最近记录: |