我有一个父视图控制器和另一个用于弹出窗口的视图控制器。弹出窗口被正确解雇。按下父视图控制器上的按钮将按预期生成弹出窗口。弹出窗口视图中有一个按钮,当按下该按钮时,应该更改父视图上按钮的颜色。
我遇到的问题是当我按下弹出窗口中的按钮时,它会解散,但父视图控制器中的按钮不会改变。
我在父视图控制器中尝试了[self.view setNeedsDisplay]
。我试过在popover委托方法和- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
方法中调用它。永远不会调用后一种方法。调用前一个方法,但它不会重绘父视图控制器内的视图。
我尝试使用performSelector: withObject: afterDelay:
为重绘添加延迟,但根本没有运气。
我试图重新绘制按钮对象本身,它不起作用。在调用removeFromSuperview
之前我还没有运气就打电话给setNeedsDisplay
。
根据我所做的研究,我觉得有必要声明我没有使用此应用程序进行任何类型的多线程。此外,这个小应用程序是使用Storyboard构建的。
答案 0 :(得分:0)
使用setNeedsDisplay
时我犯了一个简单的错误。阅读文档后,我意识到如果有一些内容更改,setNeedsDisplay
将重新绘制。我没有正确更改内容,因此没有触发更改。
我在委托方法期间更改了按钮的颜色,该方法也关闭了弹出窗口。颜色变化后,我打电话给setNeedsDisplay
。这很好地解决了。