2012-04-20 10 views
1

UIViewには多くの幾何学的関連プロパティがあります。UIViewのサイズ変更を処理する最も安定した方法は?

  • frame
  • bounds
  • transform
たぶん

より。

ビューのサイズを変更したときに何らかの動作を実行するには、どうすればよいですか?

私は通常、-layoutSubviewsメソッドをオーバーライドしようとしましたが、リサイズしないイベントによって呼び出されることもあります。私はすべてのプロパティをオーバーライドしても、私はまだすべての可能性を処理しているかどうかはわかりません。

サイズ変更イベントを処理するのに最も安定した推奨方法はありますか?

答えて

2

私は通常あなたが言ったことのために、サイズ変更のためにlayoutSubviewsを上書きしません。私は私自身のlayoutSubviewzを書き、それが必要なときにいつでも呼び出す。

-(void)setFrame:(CGRect)frame 
{ 
    [super setFrame:frame]; 
    [self layoutSubviewz]; 
} 
+0

を:私はこのようなsetFrameを上書き公共オーバーライドCGRectフレーム { のget {base.Frameを返します。 } セット { MyCustomMethod(値); base.Frame = value; } } – pauldendulk

2

スウィフトでは、あなたが行うことができます:私はXamarinでこれを使用

override var bounds: CGRect { 
    didSet { 
     // Do stuff here 
    } 
} 
関連する問題