2015-03-22 4 views
0

У меня есть обычный ViewController, в который я добавил кнопку, чтобы сделать push-сегу для контроллера табличного представления. У меня есть панель вкладок в моем приложении, и мне нужно держать ее во всех представлениях. Но когда я делаю segue во время запуска приложения, я получаю следующую ошибку.Нажатие кнопки с ViewController на TableViewController не работает

SGenericException Reason: Could not find a navigation controller for segue 'View'. Push segues can only be used when the source controller is managed by an instance of UINavigationController. 

Я искал и обнаружил, что мне нужно встроить контроллер навигации, и я это сделал. Но я все еще получаю эту ошибку. Спасибо.

+0

Почему вы создаете segue во время работы приложения. Если вы добавите контроллер segue on view в контроллер табличного представления, он автоматически будет нажат. Вам не нужно создавать его. – Jassi

+0

Я имею в виду, что когда я пытаюсь нажать кнопку во время запуска приложения, чтобы перенести меня в табличный вид, я связался с push-сегом из раскадровки, тогда я получаю эту ошибку. В моем раскадровке я просто подключил кнопку с предыдущего контроллера представления с помощью контроллера tableview без какого-либо кода. Просто добавил тип segue. – user3882720

+0

Добавили ли вы контроллер uinavigation с контроллером? Думаю, у вас есть контроллер вида без контроллера навигации. – Jassi

ответ

0

Не достаточно информации для продолжения, вы попробовали popover вместо push? Вам нужен навигационный контроллер для «нажимать» вид

+0

Нет, я просто попробовал модальный вид. Мне нужно держать панель вкладок видимой в каждом следующем контроллере представления. Вот почему я пытаюсь сделать это с помощью push. Мой viewController, как я уже упоминал, является частью панели. Поэтому я не могу встроить в контроллер навигации. – user3882720

+0

установить кнопку в качестве якоря для popover, не должен влиять на tabBar, поскольку он появляется в текущем представлении. –

+1

Попробуйте сделать это. Первый контроллер просмотра, который вы добавляете, добавьте его в контроллер навигации с корневым представлением. Тогда не добавляйте еще один контроллер навигации. У вас все еще будет панель вкладок. – Jassi

1

Решенный. Jassi Вы были правы. Мне просто нужно было добавить в первый контроллер представления навигационный контроллер. И это было именно то, что я сделал. Я встраиваю в свой первый контроллер управления навигационный контроллер и просто нажимаю кнопку «сегу». Я не встроил контроллер навигации в представление, имеющее представление tableview. Спасибо за ваши ответы.

+0

Хорошо. Пожалуйста, дайте мои комментарии на голосование. – Jassi