Можно ли перезагрузить представление при нажатии элемента панели вкладок? - PullRequest
2 голосов
/ 04 декабря 2009

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

Есть ли какие-либо предложения или обходные пути к этому?

Ответы [ 2 ]

2 голосов
/ 04 декабря 2009

Для правильного функционирования viewWillAppear и viewDidAppear в контроллере панели вкладок вы должны обязательно вызывать эти методы при отображении самого контроллера панели вкладок. То есть, если вы создаете UITabBarController программно, обязательно вызовите эти методы:

UITabBarController *myTabBarController = [[UITabBarController alloc] init];
[myTabBarController setViewControllers:myViewControllerArray];
[myTabBarController viewWillAppear:NO];
[[self view] addSubview:[myTabBarController view]];
[myTabBarController viewDidAppear:NO];

Если ваш контроллер панели вкладок создается в файле NIB, это не применимо - и в этом случае я не уверен, почему ваш метод viewDidAppear не будет вызван автоматически.

0 голосов
/ 04 декабря 2009

Я лично использую метод viewWillAppear:(BOOL)animated.

...