Подтвердить что ты не робот

IPhone SDK: как вызвать drawRect на подкласс UIView после изменения ориентации?

Я подклассифицирую UIView и перезаписываю метод drawRect. Я замечаю, что представление drawrect вызывается только при первом просмотре представления. После этого его больше никогда не называют. Как я могу убедиться, что он вызван после изменения ориентации? Я попытался вызвать setNeedsDisplay в представлении до и после поворота, и это не так.

4b9b3361

Ответ 1

[myView setContentMode:UIViewContentModeRedraw];

Вы также можете установить это в IB (т.е. установить режим для "перерисовки" )

Ответ 2

Это была ошибка, связанная с чем-то совершенно другим. setNeedsDisplay действительно вызывает вызов drawRect.

Ответ 3

чтобы ответить на этот и другие 94 000 аналогичных вопросов о повороте/дрожании зрения,

-(id)initWithFrame:(CGRect)frame
{
    if(self=[super initWithFrame:frame]) {
        self.autoresizesSubviews=YES;
        self.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
    }
    return self;
}