我有一个视图,它在自己的类中退出,有自己的xib。
此视图已初始化,并作为子视图添加到我的viewController视图中。
初始化视图时,调用方法layoutSubviews,我在视图中自定义一些内容。
但是当从superview中删除视图(如果有的话)时调用哪个方法?
例如,对于ViewController,将调用viewWill / DidDisappear。是否有类似于UIView的方法(与layoutSubviews相反)?
提前致谢
--- --- EDIT
我刚刚发现了一个在添加和删除子视图时调用的方法:
- (void)willMoveToSuperview:(UIView *)newSuperview
如果newSuperview == 0,则可以自定义删除子视图。
我是对的还是处理这种情况的俗气方式?
答案 0 :(得分:3)
调用但是当从superview中删除视图(如果有的话)时调用哪个方法?
-removeFromSuperview
,因此如果在删除视图时需要进行一些内务处理,则可以覆盖它。只记得打电话给super
的版本。
-layoutSubviews
不一定只在将视图添加到superview时调用 - 只要需要布局就会调用它。例如,可以在方向更改时调用,或者当超级视图再次放置时,或者视图的框架更改时调用。实际上没有-layoutSubviews
的倒数,因为不需要。 (它会被称为什么?-messupSubviews
?; - ))