Как перезагрузить UIWebView на прессе HomeButton - PullRequest
0 голосов
/ 27 июля 2011

Я хочу перезагрузить простой UIWebView, который я загрузил, когда приложение открывается и закрывается с домашней кнопки iPad.

Я искал другие вопросы, но, похоже, ни один из них не подходит, так как мне не нужна дополнительная кнопка, вкладка или что-то еще в моем приложении.

Я пытался:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [webView reload];
}

но это не реагирует. Мой код инициализации находится в контроллере, производном от UIViewController, а UIwebview инициализируется в - (void) viewDidLoad

Любая подсказка, как это сделать?

С уважением

Ответы [ 3 ]

6 голосов
/ 27 июля 2011

Как уже отмечали люди, вы, вероятно, хотите позвонить по номеру applicationWillEnterForeground:, но не поддавайтесь искушению добавить нежелательную нагрузку к вашему делегату приложения.

Вместо этого - вы должны зарегистрироваться, чтобы получать это уведомление, когда выинициализируйте UIViewController, который содержит UIWebView.

- (id)init
{
  self = [super init];
  if (self) {
    [[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(reloadWebView:) 
                                                 name:UIApplicationWillEnterForegroundNotification 
                                               object:nil];
    // Do some more stuff
  }
  return self;
}

Затем реализуйте метод обновления что-то вроде:

- (void)reloadWebView:(NSNotification *)notification
{
  [webView reload];
}

Вы должны будете отменить регистрацию в вашем инструменте, чтобы избежать неприятностейчто-то вроде этого

- (void)dealloc
{
  [[NSNotificationCenter defaultCenter] removeObserver:self];
  [super dealloc];
}
0 голосов
/ 27 июля 2011

Вы хотите обновить веб-представление, когда пользователь возобновляет работу приложения после многозадачности?В этом случае вам нужен метод applicationWillEnterForeground: в вашем UIApplicationDelegate.

Общая информация о многозадачности здесь .

0 голосов
/ 27 июля 2011

Попробуйте обновить вид в applicationWillEnterForeground:.Это сообщение отправляется представителю вашего приложения, когда приложение возобновляет работу после того, как оно было помещено в фоновый режим с помощью кнопки home.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...