问题
If I add a view as a subview like so
[self.view addSubview:mySubview];
Will there be called any method on mySubview, that I could override to add some custom behavior?
回答1:
Adding a view to a (new) superview triggers
- (void)willMoveToSuperview:(UIView *)newSuperview
and
- (void)didMoveToSuperview
.
See the UIView Reference for more.
回答2:
You can override these two:
- (void)willMoveToSuperview:(UIView *)newSuperview
- (void)didMoveToSuperview
Take a look in the documentation for UIView
for similar methods.
回答3:
Yes, There is a method which get called if one change the superview . you need to override the below method in your subview class.
- (void)willMoveToSuperview:(UIView *)newSuperview
- (void)didMoveToSuperview
From UIView Doucumentation
willMoveToSuperview:, didMoveToSuperview—Implement these methods as needed to track the movement of the current view in your view hierarchy.
回答4:
exep for special purpose is far better to customize you view in init phase, you have all you need and (more important) is a synchronous call.
来源:https://stackoverflow.com/questions/6162211/iphone-ios-will-there-be-called-any-method-if-a-uiview-is-added-as-a-subview