20

UIView をサブクラス化し、drawRect メソッドを上書きしています。ビューの drawrect は、ビューが最初に読み込まれたときにのみ呼び出されていることに気付きました。その後、再び呼び出されることはありません。向きの変更後に確実に呼び出されるようにするにはどうすればよいですか? 回転の前後にビューで setNeedsDisplay を呼び出してみましたが、それは行われません。

4

3 に答える 3

59
[myView setContentMode:UIViewContentModeRedraw];

これは IB でも設定できます (つまり、モードを「再描画」に設定します)。

于 2012-01-26T18:32:04.347 に答える
9

これは、まったく別のものに関連するバグでした。setNeedsDisplay は実際に drawRect を呼び出します。

于 2010-05-12T19:42:07.963 に答える
0

これと、ビューの回転/描画ファンキネスに関する他の 94,000 の同様の質問に答えるには、

-(id)initWithFrame:(CGRect)frame
{
    if(self=[super initWithFrame:frame]) {
        self.autoresizesSubviews=YES;
        self.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
    }
    return self;
}
于 2013-02-07T15:18:08.223 に答える