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