Добавьте UINavigationBar к UITableViewController без UINavigationController
У меня есть существующий UITableViewController, который ранее использовался в UINavigationController.
Мне нужно преобразовать его, чтобы представить как модальное представление. Тем не менее, я все еще хочу иметь панель навигации вверху. Я знаю, это звучит странно - почему бы не представить его в UINavigationController, если я хочу UINavBar? Я хочу представить его без UITabBarController, который связан с моим UINavigationController.
Я попытался открыть XIB, добавить новое представление, переместить UITableView в подпредставление и добавить NavigationBar к этому новому представлению. Однако, похоже, это не оказывает никакого влияния, и все табличное представление все еще представлено - никакой навигационной панели не видно. Я думаю, что это потому, что класс является подклассом UITableViewController.
Нужно ли конвертировать это в UIViewClass? Есть ли хороший подход для добавления панели навигации в коде или через Interface Builder к существующему UITableViewController?
Спасибо за любой совет о том, как подойти к этому.
1 ответ
Вы изменили соединение в XIB для представления "Владелец файла"? Он должен указывать на внешний вид, который содержит как панель навигации, так и таблицу.
Но я не уверен, что понимаю, почему вы не хотите использовать навигационный контроллер. Просто сделай это:
MyViewController *viewController = [[[MyViewController alloc] init] autorelease];
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:viewController] autorelease];
[self presentModalViewController:navController animated:YES];
Я делаю это все время при представлении модального представления - это выглядит чище, чем включение навигационной панели непосредственно в представление.