Получение пустого представления и пустой панели навигации при использовании popViewControllerAnimated - PullRequest
0 голосов
/ 03 мая 2011

Я пишу приложение для iPhone, основанное на UINavigationController.Я получаю данные с сервера, который иногда возвращает фиктивные ссылки.Я открываю каждую ссылку, нажимая веб-представление viewcontroller.Я хочу иметь возможность включить некоторые обработки ошибок.Я знаю, если ссылка не годится.Поэтому я хочу иметь возможность открыть контроллер представления веб-просмотра, как только узнаю, что в моем веб-просмотре обнаружена ошибка.

В настоящее время я пытался использовать следующий код:

[self.navigationController popViewControllerAnimated:YES];

Затем я получаю панель навигации, в которой ничего не отображается, но если я щелкну там, где должна быть кнопка «назад»это работает соответственно.Заголовок всплывает, когда я нажимаю, где должна быть кнопка «назад».Представление, в котором контроллеры представления обычно отображают содержимое, также является пустым белым, хотя я возвращаюсь к UITableViewController.

Я пробовал это в качестве обходного пути:

UINavigationController *nav = self.navigationController;
[self.navigationController popViewControllerAnimated:YES];
[nav.visibleViewController.view setNeedsDisplay];

I 'я проверил массив viewControllers в UINavigationController и в нем есть нужные viewcontrollers (то есть он удалил viewcontroller для веб-просмотра).

Я также попытался поместить код в viewWillAppear viewcontroller, который я возвращаюк, но метод никогда не вызывается.

Я ищу способ заставить UINavigationController перезагружаться так же, как вы можете вызывать reloadData для UITableView.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 23 июня 2013

Я видел нечто подобное в своем приложении, где я использовал панель навигации, которую я добавил в Интерфейсном Разработчике в корневом представлении контроллера навигации, а затем программно создал панель навигации и ее подпредставления для второго представления.Когда я возвращался ко второму виду, чтобы вернуться к первому виду, я скрывал панель self.navigationcontroller, которая показывала бы пустое пространство внизу, пока не появилась панель навигации IB предыдущего представления.Чтобы исправить это, я решил придерживаться программного создания всех моих навигационных панелей, которые исправили эту проблему для меня.

TL; DR - если вы используете как IB, так и программно сделанные навигационные панели, это может произойти при совмещении представлений, придерживайтесь однойили другой для всех навигационных панелей yo

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