загрузка контроллера UINavigation из UIView - PullRequest
0 голосов
/ 05 мая 2011

Я разрабатываю приложение, которое имеет экран входа в систему. это UIView с именем пользователя / паролем и кнопкой для отправки. Как только пользователь успешно прошел аутентификацию, я хочу загрузить новый файл XIB, содержащий контроллер навигации и панель навигации. под панелью я хочу загрузить tableView и переключаться между другими представлениями, когда я перемещаюсь вместе с его программированием.

я создал новый класс, который наследуется от UINavigationController, и собрал файл xib для включения контроллера навигации. я подключил его обратно к владельцу файла и загружаю навигационный контроллер модально так:

 myNavController* navVC = [[myNavController alloc] initWithNibName:@"navXibFile" bundle:nil];

    [self presentModalViewController:navVC animated:YES];
    [navVC release];

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

спасибо за вашу помощь.

1 Ответ

0 голосов
/ 06 мая 2011

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

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

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

MainTableViewController* mainTableVC = [[MainTableViewController alloc] 
                                        initWithNibName:@"MainTableViewController" bundle:nil];

[self.navigationController pushViewController:mainTableVC animated:YES];
[mainTableVC release];

и, наконец, в ViewDidLoad следующего контроллера представления:

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

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

я надеюсь, что этопомогает всем, кто борется с тем, чтобы сосредоточиться на шаблонах проектирования, реализованных здесь.

ура.

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