Контроллер табличного представления против контроллера навигации - PullRequest
0 голосов
/ 09 августа 2011

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

Что бы вы порекомендовали и почему? В чем различия между ними?

Ответы [ 3 ]

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

UINavigationController - это контейнерный контроллер.Это означает, что в нем находятся другие контроллеры представления.Поэтому, если вам нужен UITableviewController внутри UINavigationViewController, вы можете сделать его следующим образом:

[[UINavigationController alloc]initWithRootViewController:yourTableView];

Затем, когда вы выбираете из таблицы элемент, для которого вы хотите показать новую информацию, вы будете «выдвигать» новое представлениеКонтроллер на стек UINavigationController:

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

Это можно сделать внутри функции

- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

вашего UITableViewController.Он создаст для вас панели инструментов вверху и ожидаемые обратные навигационные кнопки.

Эта ссылка относится к документации Apple, объясняющей типы контроллеров представления, иэто определенно стоит прочитать.

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

Вам необходимо использовать контроллер табличного представления внутри контроллера навигации.Контроллер табличного представления предоставит ваш список элементов.Затем вы нажимаете на контроллер обычного вида, используя UINavigationController, когда хотите показать больше информации.

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

Вы должны использовать оба.UITableViewController отобразит список элементов, а UINavigationController позволит вам перейти на дополнительный («подробный») экран.

Прочтите Руководство по программированию View Controller для получения дополнительной информации.

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