2

上有许多与几何相关的属性UIView

  • frame
  • bounds
  • transform

也许更多。

如果我想在调整视图大小时执行一些行为,我该怎么办?

我通常尝试覆盖-layoutSubviews方法,但它也被非调整大小事件调用。即使我覆盖了所有属性,我仍然不能确定我已经处理了所有的可能性。

处理调整大小事件的最稳定和推荐的方法是什么?

4

2 回答 2

3

Swift中,您可以执行以下操作:

override var bounds: CGRect {
    didSet {
        // Do stuff here
    }
}
于 2014-12-21T15:42:16.367 回答
2

我通常不会覆盖layoutSubviews调整大小,正是因为你所说的。我自己编写layoutSubviewz并在需要时调用它,例如我setFrame这样覆盖:

-(void)setFrame:(CGRect)frame
{
  [super setFrame:frame];
  [self layoutSubviewz];
} 
于 2012-04-20T09:40:06.730 回答