UIView
上有许多与几何相关的属性。
frame
bounds
transform
也许更多。
如果我想在调整视图大小时执行某些行为,我该怎么办?
我通常尝试重写-layoutSubviews
方法,但也可以通过非大小调整事件调用它。即使我覆盖所有属性,我仍然不能确定我已经处理了所有可能性。
处理调整大小事件的最稳定和推荐的方法是什么?
答案 0 :(得分:2)
我通常不会覆盖layoutSubviews
来调整大小,完全是因为你所说的。我自己编写layoutSubviewz
并在需要时调用它,例如我像这样覆盖setFrame
:
-(void)setFrame:(CGRect)frame
{
[super setFrame:frame];
[self layoutSubviewz];
}
答案 1 :(得分:2)
在 Swift 中,你可以这样做:
override var bounds: CGRect {
didSet {
// Do stuff here
}
}