2015-04-13 2 views
0

У меня есть класс UIViewController, который содержит WKWebView и реализует WKNavigationDelegate.UIViewController: обнаружение, когда вид снова появляется

Я хотел бы обнаружить, когда снова появится контроллер вида. Я понимаю метод loadView, но, если я нажму новый вид на стек, а затем вернусь из этого представления в предыдущий вид (мой контроллер представления), какой метод вызывается на контроллере представления?

+0

Когда вы говорите «нажать новый вид» вы имеете в виду что-то вроде '[self.view addSubview: NewView] ; 'или вы имеете в виду' [self.navigationController pushViewController: newViewController]; '? Если вы нажмете новый контроллер представлений, а затем вернитесь, снова откроется окно «viewWillAppear» первого вида или «viewDidAppear». Если вы ссылаетесь на отображение подвью поверх представления контроллера вашего вида, вы можете использовать что-то вроде протокола, в котором вы определяете метод делегата 'customViewDidPressClose:', тогда ваш контроллер представления может реализовать этот метод делегирования для получения уведомления. – Zhang

ответ

0

Метод, который будет называться: viewWillAppear:.

0

Если нажать на следующее зрение, то viewDidLoad будет называться первым

Тогда viewWillAppear, viewDidAppea г

Если вы снова выскочить к предыдущему экрану (ваш UIViewController), затем

видWillAppear будет называться первым и после того, как появится весь вид

затем viewDidAppear будет называться ..

viewDidAppear полезна в тех случаях, когда какой-либо метод, называемый в viewWillAppear после этого вы можете загрузить данные в ViewDidAppear ..

0

ViewControllers viewDidLoad метод вызывается только один раз, когда представление создается впервые.

// viewDidLoad is called only once when the view is created for the first time 
- (void) viewDidLoad 
{ 
    [super viewDidLoad]; 
    // do your code here 
} 

Вы также можете реализовать ниже двух методов в стороне вашей ViewController.m класса

// viewWillAppear is called just before the view is about to be appeared 
- (void) viewWillAppear 
{ 
    [super viewWillAppear]; 
    // do your code here 
} 

// is called when the view has appeared 
- (void) viewDidAppear 
{ 
    [super viewDidAppear]; 
    // do your code here 
} 
Смежные вопросы