черная полоса, поскольку вид исчезает, когда я использую навигационный контроллер - PullRequest
0 голосов
/ 11 августа 2011

Я пишу свое первое приложение для iPhone и пытаюсь понять, как получить MasterView и DetailsView, как в примере. Однако вместо использования TableView я хочу использовать кнопку на MasterView, чтобы перейти к SignUpView. Я хочу, чтобы в MasterView НЕ было панели навигации, но в SignUpView она должна быть.

Я попытался поместить NavigationController в MasterView, используя построитель интерфейса. Это, похоже, ничего не делает ... Т.е. Я делаю следующий звонок:

[self.navigationController pushViewController:signUpViewController animated:YES];

И ничего не происходит. SignUpView никогда не отображается.

Итак, я объявил NavigationController в AppDelegate. Вышеуказанный вызов той же функции, в которой он был раньше (обработчик кнопки, кнопка находится в MasterView), работает теперь! Это приводит меня к SignUpViewController.

однако проблема в том, что, когда я нажимаю обратно на панели навигации в представлении регистрации, панель навигации снова появляется в MasterView. Я пытался установить

self.navigationController.navigationBarHidden = YES;

в viewDidLoad и viewDidAppear, но это приводит к появлению черной полосы при переходе от SignUpView к MasterView.

Я пытался не устанавливать его в одном из двух, и это приводит к плавной анимации, но в MasterView отображается панель навигации.

Я чувствую, что это должно быть довольно просто сделать ... но я в конце концов пытаюсь понять это. Некоторая помощь будет очень признательна!

Спасибо.

Ответы [ 2 ]

2 голосов
/ 11 августа 2011

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

Кроме того, вы пробовали self.navigationController.navigationBarHidden = YES;в MasterView viewWillAppear?

HTH,

Акшай

1 голос
/ 11 августа 2011

У меня тоже была эта проблема, пока я не обнаружил setNavigationBarHidden.Возможно, вы захотите использовать их в viewWillAppear / viewWillDisappear или viewDidAppear / viewDidDisappear.Вы не хотите вызывать это в viewDidLoad, потому что он вызывается только один раз, когда представление инициализируется, а не каждый раз, когда он появляется.1007 * Показать:

[self.navigationController setNavigationBarHidden:NO animated:YES];

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