0

我有一个父视图控制器和另一个用于弹出框的视图控制器。弹出框已正确关闭。按父视图控制器上的按钮将按预期生成弹出窗口。弹出视图中有一个按钮,当按下该按钮时,应更改父视图上按钮的颜色。

我遇到的问题是,当我按下弹出窗口中的按钮时,它会关闭,但父视图控制器中的按钮不会改变。

[self.view setNeedsDisplay]在父视图控制器中尝试过。我试过在弹出窗口委托方法和- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController方法中调用它。后一种方法永远不会被调用。调用前一种方法,但它不会重绘父视图控制器内的视图。

我试图在performSelector: withObject: afterDelay:没有运气的情况下为重绘添加延迟。

我试图只重绘不起作用的按钮对象本身。我也打电话removeFromSuperview之前打电话setNeedsDisplay没有运气。

根据我所做的研究,我觉得有必要声明我没有对这个应用程序进行任何类型的多线程处理。此外,这个小应用程序是用 Storyboard 构建的。

4

1 回答 1

0

我在使用时犯了一个简单的错误setNeedsDisplay。阅读文档后,我意识到setNeedsDisplay如果有一些内容更改会重新绘制。我没有正确更改内容,因此它没有触发更改。

我在也关闭了弹出框的委托方法期间更改了按钮的颜色。变色后我打电话setNeedsDisplay。这很好。

于 2013-01-26T03:42:49.107 回答