【发布时间】:2013-02-26 08:11:34
【问题描述】:
我有一个带有子视图的 VC。在subview level 我有一个按钮。我希望按钮导致视图被更新。
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]];
标签: ios xcode drawrect ibaction setneedsdisplay