如果我像这样将一个视图添加为子视图
[self.view addSubview:mySubview];
是否有任何方法可以在我的子视图(mySubview)上调用,我可以覆盖以添加一些自定义行为?
如果我像这样将一个视图添加为子视图
[self.view addSubview:mySubview];
是否有任何方法可以在我的子视图(mySubview)上调用,我可以覆盖以添加一些自定义行为?
将视图添加到(新的)父视图会触发
- (void)willMoveToSuperview:(UIView *)newSuperview
和
- (void)didMoveToSuperview
。
有关详细信息,请参见UIView参考文档。
您可以覆盖这两个:
- (void)willMoveToSuperview:(UIView *)newSuperview
- (void)didMoveToSuperview
请查看 UIView
文档中的类似方法。
是的,如果更改了superview ,会调用一个方法。您需要在子视图类中覆盖以下方法。
- (void)willMoveToSuperview:(UIView *)newSuperview
- (void)didMoveToSuperview
来自UIView文档
willMoveToSuperview:, didMoveToSuperview - 如有需要,实现这些方法以跟踪当前视图在视图层次结构中的移动。
在编程中,除非有特殊需要,否则最好在初始化阶段自定义视图。这样你就拥有了所有所需的东西,而且更重要的是,它是一个同步调用。