13

如果我像这样添加一个视图作为子视图

[self.view addSubview:mySubview];

是否会在 mySubview 上调用任何方法,我可以重写以添加一些自定义行为?

4

4 回答 4

28

将视图添加到(新)超级视图触发器

- (void)willMoveToSuperview:(UIView *)newSuperview

- (void)didMoveToSuperview.

有关更多信息,请参阅UIView 参考

于 2011-05-28T14:28:46.327 回答
3

您可以覆盖这两个:

- (void)willMoveToSuperview:(UIView *)newSuperview
- (void)didMoveToSuperview

查看文档以UIView了解类似方法。

于 2011-05-28T14:28:15.797 回答
3

是的,如果更改superview ,则会调用一种方法。您需要在子视图类中覆盖以下方法。

- (void)willMoveToSuperview:(UIView *)newSuperview
- (void)didMoveToSuperview

来自UIView文档

willMoveToSuperview:, didMoveToSuperview——根据需要实现这些方法来跟踪当前视图在视图层次结构中的移动。

于 2011-05-28T14:30:15.240 回答
0

用于特殊目的的 exep 最好在初始化阶段自定义您的视图,您拥有所需的一切,并且(更重要的是)是同步调用。

于 2012-01-21T12:02:57.387 回答