У меня есть VC с подвью. На subview level
у меня есть кнопка. Я хочу, чтобы кнопка отображала обновляемое представление.Кнопка для запуска drawRect для перерисовывания вида
Код IBAction
находится в VC. Все, что он сейчас делает, это переключить значение BOOL
.
Назад в подземелье drawRect: метод - это код, который проверяет BOOL
и соответственно меняет вид.
Мое наблюдение заключается в том, что при нажатии кнопки код IBAction запускается, переключает BOOL
, но метод drawRect:
не вызывается.
Я попытался вызвать drawRect вручную (не очень хорошая практика и не работал). Я попытался вызвать setNeedsDisplay, но это тоже не сработало (не удалось выяснить, как ссылаться на подвью, который создается программно).
Предложения приветствуются.
код IBAction тривиальна, но включены ниже:
- (IBAction)rotateWindowButtonWasPressed:(id)sender
{
// just flip the boolean here. Need to make the code change in drawRect: in top2View.m
if ([myGlobals gWinVertical])
[myGlobals setGWinVertical:NO];
else
[myGlobals setGWinVertical:YES];
// Hoping this would force a redraw, but bounds have to change...:(
//_top2ViewOutlet.contentMode = UIViewContentModeRedraw;
}
Prettier ярлык: [myGlobals setGWinVertical:! [MyGlobals gWinVertical]]; –
Спасибо slugster :) – Tony