4

で描画されたカスタム背景を持つビューを考えてみましょうdrawRect:。ビューのサイズが変更された場合、背景を再描画する必要があります。

これは悪い考えですか?

- (void) layoutSubviews
{
    [super layoutSubviews];
    [self setNeedsDisplay];
}

もしそうなら、ビューのサイズを変更する人を制御できないことを考えると、より良い代替手段は何ですか?

4

1 に答える 1

11

やらないでください、必要ありません。contentModeビューの を に設定しUIViewContentModeRedrawます。

UIViewContentModeRedraw

setNeedsDisplay メソッドを呼び出して、境界が変更されたときにビューを再表示します。iOS 2.0 以降で利用できます。UIView.h で宣言されています。

これにより、同じ効果が得られます。

于 2012-11-17T21:26:26.377 に答える