2010-07-02 4 views
3

Когда пользователь меняет NsuserDefaults в настройках на iPhone и активирует мое приложение после его приостановки, я хочу перезагрузить активное представление.Как перезагрузить просмотр, когда приложение становится активным после приостановления?

Как я могу это сделать?

ответ

7

Вы можете реализовать метод applicationDidBecomeActive: в делете приложения или зарегистрировать уведомление UIApplicationDidBecomeActiveNotification в любом другом объекте.

+0

Thaks Я закончил регистрацию для уведомления в каждом представлении. – LarsJK

+1

Помните, что все объекты, которые регистрируют уведомление, получат его, а не только один активный. Таким образом, вы можете делать вещи для неактивных просмотров! – monzonj

0

- (void)applicationWillEnterForeground:(UIApplication*)application на App Delegate вызывается при выходе из приостановления.

Внесите этот метод в него, проверьте, изменился ли параметр, о котором вы сейчас находитесь, найдите свой верхний контроллер и перезагрузите его.

+0

Я обновляю NSUserDefaults в - (void) applicationDidBecomeActive: (приложение UIApplication *); лучше ли это сделать в указанном вами методе? Как мне найти мой самый верхний вид? – LarsJK

+0

Если вы используете UINavigationController, вы можете найти его с помощью [navController topViewController] – OlivaresF

+0

Отлично! Я использую tabbarcontroller, но я думаю, что-то вроде [[tabBarController.navigationController topViewController] setNeedsDisplay]; должно сработать? Нужно попробовать это позже .. – LarsJK

Смежные вопросы