Метод viewWillAppear не вызывает iPhone SDK - PullRequest
0 голосов
/ 22 февраля 2012

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

пожалуйста, дайте мне знать причину.

Ответы [ 4 ]

0 голосов
/ 22 февраля 2012

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

[UIViewController addChildViewController:];
[UIViewController removeFromParentViewController:];
[UIViewController transitionFromViewController:toViewController:duration:options:animations:completion:]
[UIViewController willMoveToParentViewController:]
[UIViewController didMoveToParentViewController:]

Чтение Реализация контроллера представления контейнера в справочнике классов UIViewController.

0 голосов
/ 22 февраля 2012

Я тоже встречал эту ситуацию.В iOS 5 все нормально.Но когда я тестирую в iOS 4.3.1, viewWillAppear не вызывает.

Так что вам нужно вызвать viewWillAppear вручную

Вы можете попробовать это

[[self.navigationController.viewControllers objectAtIndex:0] viewWillAppear:YES];
[self.navigationController popViewControllerAnimated:YES];
0 голосов
/ 22 февраля 2012

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

шаг 1. для вставки FirstViewController

SecondViewController *second = [[SecondViewController alloc]init]
[self.navigationController pushViewController:second animated:TRUE];

Шаг 2. для всплывающих окон SecondViewController

// проверка наличия контроллера навигации в стеке ваших приложений

NSArray *arrView = [self.navigationController viewControllers];

NSLog(@"arrView %@",arrView);

for(int i = 0; i <[arrView count]-1, i++)
{
    if([arrView objectAtIndex:i] isKindOfClass:[FirstViewController class])
    {
        [self.navigationController popViewControllerAnimated:TRUE];
    }
} 
0 голосов
/ 22 февраля 2012

Когда вы загружаете View в первый раз, вызывается метод viewWillAppear? попробуйте использовать

[[self navigationController] popViewControllerAnimated: TRUE];

чтобы вернуться обратно

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