#ios #uinavigationcontroller
#iOS #uinavigationcontroller
Вопрос:
Я начинаю с разработки iOS.
В настоящее время я реализовал TabBarController, который объединяет 2 представления, в одном из которых есть TableView внутри.
Я пытаюсь заставить табличное представление отправлять другое представление при вызове didSelectRow.
То, что я пытаюсь сделать, похоже на AppStore на вкладке поиска. То есть: когда вы находите нужное приложение, вы нажимаете на строку таблицы — затем панель поиска исчезает, а панель навигации исчезает, открывая больше деталей.
Прямо сейчас я пытаюсь это:
self.nav = [[UINavigationController alloc] initWithRootViewController:rootVC];
nav.delegate = self;
self.detailView = [[detailView alloc] initWithNibName:@"detailView" bundle:nil];
[nav pushViewController:self.detailView animated:YES];
Где rootVC — это ViewController в моем secondView.
Это ничего не дает. Я вызвал NSLog, чтобы убедиться, что метод вызывается, и это так.
Любая помощь приветствуется.
Спасибо!
Ответ №1:
Есть ли у вас в приложении навигационный контроллер? Один из способов создать навигационный контроллер с контроллером панели вкладок — добавить навигационный контроллер для каждого элемента панели вкладок. Затем сделайте корневой контроллер представления навигационного контроллера одним из ваших 2 контроллеров views.
Комментарии:
1. Я пытался реализовать UINavigationController, но каждый раз, когда я изменяю свойства TabView Button на класс NavController (который реализует UINavigationController), все, что он возвращает, это пустой NavController с синей полосой вверху. Он вызывает viewDidLoad, но я не могу установить представление таким, каким я хочу, чтобы оно было!
2. вы не изменяете кнопку tabview, если вы добавили панель вкладок из nib, вы перетаскиваете UINavigation controller и устанавливаете контроллер панели вкладок. Пока вы не увидите свое окно как с панелью вкладок, так и с панелью навигации. Затем вы настраиваете корневой контроллер просмотра контроллера навигации на свой контроллер просмотра.