Лучший способ справиться с обновлением состояния представления - это абстрагировать конфигурацию подпредставлений представления вашего UIViewController в пользовательский метод, который вы можете вызвать первоначально из viewDidLoad
и снова как действие вашего UIbarButtonItem
.
- (void)viewDidLoad {
//Specific, non repeated view setup
[self resetViewState];
}
- (void)resetViewState {
//Repeatable view setup
}
Причина, по которой стоит проводить различие, заключается в том, что viewDidLoad
автоматически вызывается системой после отложенной загрузки представления. По замыслу это не метод, который должен вызываться несколько раз за просмотр. Он будет вызван снова, если представление будет отброшено и воссоздано.
Вы также можете переместить макет подпредставлений вашего UIViewController в viewWillLayoutSubviews
, если вам нужно выполнить компоновку, снова это вызывается системой в разное время.