У меня есть класс DisplayOptViewController, который является подклассом UICollectionViewController. Я хочу отобразить этот CollectionViewController, когда пользователь нажимает кнопку в панели навигации на моей текущей странице. Я могу загрузить CollectionView на кнопку Click, но панель навигации не подходит. Я хочу, чтобы пользователь мог видеть кнопку «Назад» в панели навигации, и нажатие кнопки должно вернуть его на текущую страницу. Я пытался сделать это через раскадровку, а также программно. Когда я пытаюсь это сделать с помощью раскадровки, сам ViewController не отображается, и когда я создаю объект контроллера представления программно, я не получаю панель навигации. Любая идея, как к этому?Как загрузить UICollectionViewController при нажатии кнопки на панели навигации?
Я пытался добавить этот код в моем viewDidLoad
метода в DisplayOptViewController
:
UINavigationBar *navBar=[[UINavigationBar alloc] init];
[[self navigationController] setNavigationBarHidden:NO animated:YES];
[self.navigationController.navigationBar addSubview:navBar];
Но панель навигации все еще не пришел. Незлая помощь.
обновление
Я загружая UICollectionView здесь
UICollectionViewFlowLayout *aFlowLayout = [[UICollectionViewFlowLayout alloc] init];
[aFlowLayout setItemSize:CGSizeMake(140, 50)];
[aFlowLayout setScrollDirection:UICollectionViewScrollDirectionVertical];
DisplayOptViewController *vc=[[DisplayOptViewController alloc] initWithCollectionViewLayout:aFlowLayout];
[self presentViewController:vc animated:YES completion:nil];
Вы могли бы лучше объяснить, что именно вы хотите? Из того, что я понимаю, когда пользователь нажимает кнопку на панели навигации, навигационный контроллер выталкивает коллекцию на экран, но скрывает панель навигации. Это то, что происходит? –
Да, это то, что происходит.Я загружаю uicollectionView здесь - [код] UICollectionViewFlowLayout * aFlowLayout = [[UICollectionViewFlowLayout alloc] init]; [aFlowLayout setItemSize: CGSizeMake (140, 50)]; [aFlowLayout setScrollDirection: UICollectionViewScrollDirectionVertical]; DisplayOptViewController * vc = [[DisplayOptViewController alloc] initWithCollectionViewLayout: aFlowLayout]; [self presentViewController: vc animated: YES complete: nil]; [/ code] –
Почему бы просто не использовать '[self.navigationController pushViewController: vc animated: YES]'? – geo