与layoutSubviews相反的是什么

时间:2013-07-02 20:24:31

标签: ios uiview layoutsubviews

我有一个视图,它在自己的类中退出,有自己的xib。

此视图已初始化,并作为子视图添加到我的viewController视图中。

初始化视图时,调用方法layoutSubviews,我在视图中自定义一些内容。

但是当从superview中删除视图(如果有的话)时调用哪个方法?

例如,对于ViewController,将调用viewWill / DidDisappear。是否有类似于UIView的方法(与layoutSubviews相反)?

提前致谢

--- --- EDIT

我刚刚发现了一个在添加和删除子视图时调用的方法:

- (void)willMoveToSuperview:(UIView *)newSuperview

如果newSuperview == 0,则可以自定义删除子视图。

我是对的还是处理这种情况的俗气方式?

1 个答案:

答案 0 :(得分:3)

  

但是当从superview中删除视图(如果有的话)时调用哪个方法?

调用

-removeFromSuperview,因此如果在删除视图时需要进行一些内务处理,则可以覆盖它。只记得打电话给super的版本。

-layoutSubviews不一定只在将视图添加到superview时调用 - 只要需要布局就会调用它。例如,可以在方向更改时调用,或者当超级视图再次放置时,或者视图的框架更改时调用。实际上没有-layoutSubviews的倒数,因为不需要。 (它会被称为什么?-messupSubviews?; - ))