来自ActionScript,我会将Sprites设置为visible = false,以防止它们在布局等方面进行计算,并确保它们不会响应事件。
在iOS开发中,我继续这样做 - 如果不需要UIView,我可以将其alpha设置为零,然后设置hidden = true。我想知道自己是在浪费时间,还是知道这有什么好处。在我目前的项目中,我正在使用UIImageViews这样做,无论如何都没有响应事件。
将隐藏设置隐藏为真正的良好实践,还是仅仅是额外的开销?
答案 0 :(得分:22)
这是最佳选择,因为将hidden设置为true会从渲染循环中删除视图。将alpha设置为0只会使视图透明。
答案 1 :(得分:6)
如果您不再需要它,那么您应该从内存中正确删除它。在这种情况下,你只需动画它的alpha(使它看起来很好),然后解除它。
如果你自动释放它,那么你所要做的就是从superview中删除它,它的保留将命中0并被解除分配。
[UIView animateWithDuration:.5
animations: ^ {
[myView setAlpha:0];
}
completion: ^ (BOOL finished) {
[myView removeFromSuperview];
}];