Добавьте UINavigationBar к UITableViewController без UINavigationController - PullRequest
8 голосов
/ 27 октября 2010

У меня есть существующий UITableViewController, который ранее использовался в UINavigationController.

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

Я попытался открыть XIB, добавить новый вид, переместить UITableView в подпредставление и добавить NavigationBar в этот новый вид. Однако это, похоже, не оказывает никакого влияния, и все табличное представление все еще представлено - никакой навигационной панели не видно. Я думаю, что это потому, что класс является подклассом UITableViewController.

Нужно ли конвертировать это в класс UIViewClass? Есть ли хороший подход для добавления панели навигации в коде или через Interface Builder к существующему UITableViewController?

Спасибо за любые советы о том, как подойти к этому.

1 Ответ

15 голосов
/ 27 октября 2010

Изменили ли вы соединение в XIB для представления «Владелец файла»?Он должен указывать на ваш внешний вид, который содержит как панель навигации, так и таблицу.

Но я не уверен, что понимаю, почему вы не хотите использовать контроллер навигации.Просто сделайте это:

MyViewController *viewController = [[[MyViewController alloc] init] autorelease];
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease];
[self presentModalViewController:navController animated:YES];

Я делаю это все время, когда представляю модальное представление - это выглядит чище, чем включение навигационной панели прямо в представление.

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