У меня есть корневой ViewController (RootViewController), который вызывает pushViewController для отображения другого ViewController (DetailViewController). В DetailViewController я делаю изменения, которые влияют на содержимое, отображаемое в корневом ViewController. Поэтому мне нужно перерисовать представление в RootViewController после удаления элемента DetailViewController с помощью popViewControllerAnimated.Refreshing ViewController после popViewControllerAnimated
Проблема в том, что setNeedsDisplay не работает в этом сценарии. В методе viewWillAppear из RootViewController, я называю:
[self.view setNeedsDisplay]
Однако содержание зрения RootViewController не обновляется. Поэтому мне интересно, есть ли что-то в навигационных контроллерах, которые предотвращают работу setNeedsDisplay.
Единственный способ решения проблемы я мог бы найти, что следующий код, который заставляет вызов viewDidLoad, который перерисовывает все представление
self.view = nil;
Но мне интересно, почему в viewWillAppear, почему [self.view setNeedsDisplay] не работает. Теоретически это должно заставлять представление перерисовывать себя. – user542428