1

Первый vc (контроллер просмотра) имеет одну кнопку, когда я нажимаю на нее, мне нужно перейти к второму vc, в который встроен контроллер табуляции. Обратите внимание на прикрепленные изображения.Ошибка Uinavigation при нажатии кнопки возврата

enter image description here

В случае нажатия кнопки я вызываю панель вкладок следующим образом: -

TabBarVC *vc=[self.storyboard instantiateViewControllerWithIdentifier:@"TabBarVC"]; 
[self.navigationController pushViewController:vc animated:YES]; 

теперь, когда я нажимаю он идет на вкладку-бар, как желание, но покажите мне сообщение: - «Завершение переход навигации в непредвиденное состояние. Дерево навигации в навигационной панели может быть повреждено ».

теперь, когда я нажимаю на спину аварии кнопки приложения и показать мне это сообщение об ошибке: -

Нагрузочное приложение из-за неперехваченное исключение «NSInvalidArgumentException», причина: «Не может добавить себя как подвид»

Возможное решение: - это может быть причина, потому что я называю контроллер TabBar который погруженный на secondvc ... я не установить анимацию да не так: -

[self.navigationController pushViewController:vc animated:NO]; 

так что теперь приложение не сработало, но когда я нажимаю кнопку «Назад», он должен перейти в firstvc, но он снова перейдет к контроллеру панели (тот же контроллер). Если я нажму 2 раза в задней кнопке, чтобы перейти к firstvc как желательно. Любое предложение, как я могу удалить эту проблему с навигационным стеком.

+0

Что такое суперкласс TabBarVC? –

+0

Я включил контроллер панели вкладок во второй контроллер. – arpit

ответ

1

Возможно, вы хотите это, я думаю, это поможет вам решить вашу проблему. Примечание: -Изображение пользователя и пароль «praveen». Я приложил образец проекта к этой ссылке. http://www.filedropper.com/tabbarapplicationwithlogin

+0

Да, ваш пример работает по своему желанию, но он не работает на моем конце: - Я добавляю идентификатор segue (Идентификатор - пропустите и покажите, например, нажмите), и при нажатии кнопки я добавлю это: [self performSegueWithIdentifier: @ "pass" отправитель: ноль]; теперь я запускаю приложение и я, когда я нажимаю кнопку «Назад», показывает мою ту же ошибку, т. Е. «Завершение приложения из-за неперехваченного исключения» NSInvalidArgumentException », причина:« Невозможно добавить себя как subview »» ваш пример работает отлично. вы сделали что-нибудь еще на этом примере? пожалуйста, предлагайте – arpit

+0

Не выполняйте segue, просто отпустите его, пожалуйста, пройдите через мое кодирование. –

+0

вместо использования segue i set tabbar contrller storyboard id to TabBarVC Я использую это для вашего кода, и проблема решена: - ViewController * vc = [self.storyboard instantiateViewControllerWithIdentifier: @ "TabBarVC"]; [self.navigationController pushViewController: vc animated: yes]; Я немного путаюсь. в первой строке кода я назначаю контроллер панели вкладок для просмотра типа контроллера и он работает. – arpit

Смежные вопросы