Я подклассифицирую UIView и перезаписываю метод drawRect. Я замечаю, что представление drawrect вызывается только при первом просмотре представления. После этого его больше никогда не называют. Как я могу убедиться, что он вызван после изменения ориентации? Я попытался вызвать setNeedsDisplay в представлении до и после поворота, и это не так.
IPhone SDK: как вызвать drawRect на подкласс UIView после изменения ориентации?
Ответ 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;
}