Iphone - обновить View Controller с выбранными настройками приложения после нажатия назад - PullRequest
1 голос
/ 19 апреля 2011

Я определяю 2 поля в приложении настроек.Когда пользователь открывает приложение, 2 поля, определенные в настройках, отображаются правильно.Если пользователь изменяет настройки, а затем снова открывает мое приложение, 2 поля не обновляются.Они корректно обновляются только после перезапуска отладчика.Я добавил метод refreshFields в viewWillAppear .

Однако viewWillAppear не перехватывается, когда я нажимаю кнопку возврата на телефоне и затем снова открываю приложение.Если вместо того, чтобы нажимать кнопку «Назад» на телефоне, я нажимаю кнопку «Назад», созданную в моем приложении, то все работает нормально.

В заключение, где я должен вызывать метод refreshFields, чтобы они моглимое приложение открывается во второй раз после нажатия кнопки возврата на телефоне?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 04 мая 2011

Мое текущее решение добавляет следующее в viewDidLoad:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refreshFields) name: UIApplicationDidBecomeActiveNotification object:nil];

Однако экран отображается на несколько миллисекунд со старыми значениями, поскольку UIApplicationDidBecomeActiveNotification перехватывается после появления экрана.

0 голосов
/ 19 апреля 2011

Попробуйте посмотреть на UIApplicationDelegate:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UIApplicationDelegate

- (void)applicationDidBecomeActive:(UIApplication *)application

Этот метод следует использовать для перезапуска любых задач, которые были приостановлены (или еще не запущены) во время приложениябыл неактивен.Например, вы можете использовать его для перезапуска таймеров или увеличения частоты кадров OpenGL ES.Если ваше приложение ранее находилось в фоновом режиме, вы также можете использовать его для обновления пользовательского интерфейса вашего приложения.

...