Измените подробный вид из приложения MasterDetail для iPad с помощью раскадровки, имеющей проблемы с навигационным контроллером

Ответ на

Изменение подробного представления из приложения MasterDetail для iPad с помощью раскадровки

похоже, это то, что я ищу, за исключением того, что у меня возникают проблемы с пониманием и настройкой дополнительных навигационных контроллеров, которые генерируются из шаблона IPad Master-Detail в XCode.

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

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

Спасибо


person user1069528    schedule 29.05.2012    source источник


Ответы (1)


Вам необходимо встроить свой исходный контроллер подробного представления в контроллер навигации.

Не путайте навигационные контроллеры. UINavigationController — это контроллер контроллеров представления, в данном случае структурированный иерархически.

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

Теперь, если вы хотите представить модальный контроллер представления (например, для редактирования объекта), который также имеет дочерние контроллеры представления (например, для редактирования определенных атрибутов объекта), вы должны обернуть его в свой собственный навигационный контроллер. Это предоставит вам удобную панель навигации, которую вы можете использовать, чтобы закрыть ее и управлять ее собственной иерархией представлений.

Прозрачный?

person Mundi    schedule 30.05.2012
comment
Я не думаю, что это возможно - если вы посмотрите stackoverflow.com/questions/10201070/ - person user1069528; 30.05.2012
comment
Это возможно. Я делаю это все время с модальными контроллерами представления, которым могут понадобиться последующие контроллеры представления. Указанный вами вопрос не касается этой конкретной проблемы. - person Mundi; 30.05.2012
comment
Итак, у вас есть UiNavigationalController с несколькими встроенными UIViewController'ами? Пожалуйста, подробно опишите, как вы это делаете. - person user1069528; 30.05.2012
comment
Нет такой вещи, как UIController. Смотрите мое редактирование, где я пытаюсь объяснить. - person Mundi; 30.05.2012
comment
Я начинаю думать, что что-то изменилось с UISplitViewControllers, так как ранее опубликованная проблема была решена. - person user1069528; 30.05.2012
comment
Если вы посмотрите на developer.apple.com /library/ios/#DOCUMENTATION/UIKit/Reference/ в нем говорится: есть два основных подхода, которые вы можете использовать: простой интерфейс master-detail, в котором подробное представление остается постоянным. В этой конфигурации один контроллер представления управляет подробным представлением в течение всего срока службы приложения... Сложное приложение, в котором основные и подробные представления (и соответствующие контроллеры представлений) могут изменяться. .. вам нужен отдельный пользовательский объект контроллера... - person user1069528; 30.05.2012
comment
Вы не описали, как иметь более одного UIViewController уровня родственного уровня в контроллере UINavigational. - person user1069528; 30.05.2012
comment
Да я описал. Вы заключаете новый иерархический контроллер представления в его собственный навигационный контроллер. Ваша цитата из документации немного не по делу. К сожалению, ваша конкретная проблема не рассматривается в этом отрывке. - person Mundi; 31.05.2012