Objective-C: навигационный контроллер pushViewController & NIBs - PullRequest
1 голос
/ 18 декабря 2009

У меня есть некоторые проблемы с pushViewController. По сути, до сих пор у меня есть класс (UIViewController), который по сути является UITableView (у меня есть делегаты для UITable), и он показывает UITable хорошо. Теперь я хочу, чтобы это была иерархическая таблица, которая переходит к другому контроллеру ...

Проблема в том, что до того, как я внес это изменение, файл NIB из-за своей структуры имеет владельца файла и второй элемент вкладки (поэтому в текущем контроллере нет UIApplicationDelegate, но есть для приложения). У меня есть окно с видом и UITable под ним.

Итак, мой первый контроллер:

@interface PostsViewController : UIViewController{

//@private

NSFetchedResultsController          *fetchedResultsController;
UITableView                         *tableView;
UINavigationBar                     *navBar;

}

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

Как мне это сделать?

Спасибо

Ответы [ 2 ]

1 голос
/ 18 декабря 2009

Ваш начальный контроллер представления будет UINavigationController вместо вашего текущего контроллера представления таблицы. Затем вы помещаете свои контроллеры табличного представления в этот навигационный контроллер.

Контроллер навигации заботится о панели навигации, поэтому вы можете удалить ее из вашего PostsViewController.

Ваш PostsViewController будет знать, когда он был добавлен в UINavigationController; его свойство navigationController будет установлено. Вы используете это свойство для доступа к вашему текущему контроллеру представления для нажатия и извлечения других контроллеров представления.

1 голос
/ 18 декабря 2009

Ваше приложение должно иметь UIApplicationDelegate.

В его методе applicationDidFinishLaunching: добавьте контроллер навигации в окно и нажмите первый UITableViewController в качестве корня.

Чтобы увидеть пример кода, создайте новое приложение на основе навигации в XCode и посмотрите на его метод applicationDidFinishLaunching:.

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