UINavigationController с обратной стороны
-
06-07-2019 - |
Вопрос
У меня проблема с созданием контроллера навигации после того, как на другой стороне приложения :) ... я имею в виду после нажатия этой маленькой кнопки информации и переворачивания на другой стороне ...
Я получаю эту ошибку: Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: '- [UIViewController _loadViewFromNibNamed: bundle:] загрузил " InfoController " перо, но розетка вида не была установлена. '
И я знаю, что проблема где-то в подключении розетки к представлению ...
Снимок экрана с моего IB здесь:
Я буду признателен за любую помощь, так как это последняя часть моего приложения, которую мне нужно закончить ...
Решение
UIViewController имеет ивар с названием view. Если он не подключен в IB (или задан в коде), вы получите это сообщение. В IB нажмите «Владелец файла», затем нажмите «Подключения». вкладка в инспекторе. В разделе «Розетки» что такое "просмотр" параметр подключен к? Он должен быть подключен к представлению, которым вы собираетесь управлять из вашего InfoController.
При этом существует некоторая несогласованность в том, что вы показываете на своем скриншоте. Обычно у вас не будет UINavigationController, который будет частью вашей UIViewController xib. Вместо этого он должен быть в вашем MainWindow.xib. Вы можете попытаться перетащить соединение от владельца вашего файла к представлению внутри вашего контроллера навигации, но я не думаю, что это сработает. Вам нужно переместить контроллер навигации в свой MainWindow.xib, а затем установить его представление типа InfoController с помощью xib InfoController.
Если это неясно, создайте новый проект с помощью приложения на основе навигации. шаблон в Xcode. Затем откройте файл MainWindow.xib в IB. Там вы увидите, как должен быть настроен навигационный контроллер.
Кстати, вы получите больше информации об этом вопросе, если добавите «iphone» в качестве тега.