我有一个根ViewController(RootViewController),它调用pushViewController来显示另一个ViewController(DetailViewController)。在DetailViewController中,我进行了编辑,这些编辑会影响根ViewController中显示的内容。所以我需要在通过popViewControllerAnimated删除DetailViewController后重绘RootViewController中的视图。
问题是setNeedsDisplay在这种情况下似乎不起作用。在RootViewController的viewWillAppear方法中,我调用:
[self.view setNeedsDisplay]
但是,RootViewController视图的内容不会更新。所以我想知道导航控制器是否存在阻止setNeedsDisplay工作的问题。
我能找到的唯一解决方法是以下代码强制调用viewDidLoad,重绘整个视图
self.view = nil;
答案 0 :(得分:2)
您可以在 viewWillAppear 而不是viewDidLoad中更新您的视图。您无需调用setNeedsDisplay。