我有一个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;
}
漂亮的捷径:[myGlobals setGWinVertical:![myGlobals gWinVertical]]; – 2013-02-26 14:26:42
谢谢slugster :) – Tony 2013-02-27 03:43:00