2009-07-17 101 views
9

苹果说:如何正确删除FromSuperview?

removeFromSuperview断开与它的父和其 窗口 接收器,并从 响应链中删除。

  • (无效)removeFromSuperview

而 显示决不调用此方法。

所以,当我想摆脱一个视图时,我习惯于将它从超级视图中踢出去。为什么我不会在可见时调用它?所以在我这样做之前,我必须将它设置为hidden = YES?

回答

17

规范规定了“在显示时显示”而不是“显示时”。因此,例如,您绝不应在视图的drawRect中调用removeFromSuperview

removeFromSuperview释放视图并可能释放它。尝试显示视图时的父视图可能不会被释放并导致访问受损。