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 に答える