iOS Xcode: редактирование контроллера корневого представления

#ios #xcode #storyboard

#iOS #xcode #Раскадровка

Вопрос:

Как отредактировать контроллер корневого представления

Всем привет, я схожу с ума, пытаясь выяснить, как переключить корневой контроллер с табличным представлением внутри на корневой контроллер с обычным представлением.

введите описание изображения здесь

Как вы можете видеть из изображения, у меня есть навигационный контроллер, указывающий на контроллер корневого представления с табличным представлением. Ну, я хочу, чтобы мой навигационный контроллер указывал на корневой контроллер, разработанный как контроллер просмотра в правой части.

Как я могу это сделать?

Комментарии:

1. Почему контроллер представления находится перед контроллером навигации?

2. это контроллер представления, на котором отображается логотип приложения, это неправильный дизайн?

3. @TheMiotz Да. Заставка VC должна располагаться в собственном файле раскадровки. Он должен был быть создан xcode для вас. Это тот, который отображается при загрузке приложения.

Ответ №1:

Откуда ни возьмись: выберите переход к нежелательному VC. Удалите его. Ctrl-перетащите нужный контроллер из контроллера навигации и установите его в качестве root.

Комментарии:

1. Я пытался, но при этом я увижу черный экран.

2. не могли бы вы так любезно сказать мне, почему в следующих контроллерах я не вижу стрелку обратно на панель навигации?

3. Извините, я не уверен, что вы подразумеваете под следующими контроллерами . Если у вас есть только корневой VC, то возвращаться не к чему.

4. Я отредактировал картинку, чтобы вы могли понять. Моя проблема в том, что когда я нажимаю кнопку на втором контроллере просмотра, я вижу черный экран, и на панели навигации нет стрелки назад

5. Удалите 2-й и 3-й контроллеры навигации. Для управления навигацией вам нужен только один контроллер. Навигационный контроллер похож на стопку карточек. Вам не нужны три стека.

Ответ №2:

Вы должны использовать исходный контроллер в качестве элемента управления навигацией, иначе вы не сможете перемещаться с помощью контроллера просмотра, как вы делали в своей раскадровке.

Итак, выберите свой контроллер просмотра там, где есть кнопка (самая левая на панели раскадровки). Затем вы можете перейти к экрану.

Таким образом, ваш поток будет

  1. Контроллер навигации (сделайте его начальным контроллером)
  2. Подключите следующий контроллер просмотра в качестве корневого контроллера.

Затем любой контроллер, который вы хотите, может выбрать show / present type segue.

Надеюсь, это поможет.