2015-06-26 4 views
0

Привет, опытный разработчик iOS, но новичок в раскадровке, поэтому я использую пользовательскую панель вкладок в раскадровке, используя пользовательский segue, который отлично работает (я могу успешно переходить на нужную вкладку). Но когда я хочу добавить больше контроллеров на выбранную вкладку, используя «показать» или «надавить», отмените мое приложение. Я много раз искал Google, но не нашел решения. Любой поможет мне решить эту проблему. enter image description hereПользовательская панель вкладок с помощью раскадровки

Из приведенного выше изображения основной отчет VC является контроллером табуляции, который я добавил через пользовательский segue, теперь я хочу, чтобы нажать правый контроллер красного цвета на контроллер табуляции, но он разбил мое приложение.

+0

«Основной отчет VC», непосредственно установленный на контроллере табуляции? то вы не можете нажать viewcontroller из него. Для перемещения между VC требуется контроллер навигации. есть много способов навигации. Вы можете установить контроллер навигации в Tab Controller и установить «Main Report VC» в качестве контроллера корневого представления, чтобы он был готов к навигации. – Samir

ответ

1

Посмотрите на this осуществления. У меня есть пользовательский контроллер панели вкладок в моем приложении, и я сделал один на основе этого решения. Это очень легко понять и использовать раскадровки.

Я этого не делал. Кредит составляет mhaddl.

Вы не должны использовать push segues с контроллером панели управления, они предназначены для использования с контроллером навигации.

Если вы хотите получить справку об ошибке, которая приведет к сбою, сообщите нам некоторую информацию об авариях.

+0

спасибо за ваше внимание ... –

0

Push segue работает с UINavigationController. Поэтому вы должны добавить его.

Если вы используете кнопку segue для одиночного источника, вы должны определить ее с помощью -performSegueWithIdentifier:sender: или использовать разные кнопки. Каждая вкладка на вкладке может управлять собственным навигационным контроллером. Таким образом, вы можете выбрать необходимый навигационный контроллер и выполнить segue (или нажать) на нем.

MyNavigationController *navigationController = self.navigationControllers[currentTabIdx]; 
[navigationController performSegueWithIdentifier:@"push" sender:self]; 
Смежные вопросы