Использование нескольких подробных видов в UISplitView с раскадровками в Xcode 4.2? - PullRequest
4 голосов
/ 06 января 2012

Я пытаюсь создать приложение для iOS 5 с контроллером SplitView, который использует несколько подробных видов. Вот руб. Я пытаюсь сделать это с помощью раскадровки. Я нашел несколько учебных пособий, объясняющих, как это сделать в предыдущих версиях XCode, но ни один из них не рассматривает раскадровки.

Единственное исключение создает контроллер панели вкладок в главном представлении, который я не хочу использовать. Я попытался удалить панель вкладок и изменить код, но безуспешно.

Я понял, что могу прикрепить заменяющий Segue к статической ячейке в главном представлении. Это позволяет мне указывать тип как разделение деталей, что выполняет большую часть того, что я пытаюсь сделать. Он загружает новый детальный контроллер.

Однако кнопка, показывающая мастер-поповер, исчезает во время перехода. Я полагаю, что могу предотвратить это, используя этот метод:

  • (void) prepareForSegue: (UIStoryboardSegue *) segue sender: (id) sender

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

Кто-нибудь получил несколько видов деталей для работы с раскадровками, и если да, то можете ли вы указать мне направление хорошего учебника? Большое спасибо за помощь!

1 Ответ

3 голосов
/ 19 января 2013

Я столкнулся с подобной ситуацией и проверил ссылку на raywenderlich.com. Однако я нашел управление делегатом splitview слишком сложным, и это затрудняет повторное использование между iPhone и iPad. Мое решение заключается в создании DetailContainerViewController в качестве контроллера правой стороны. И добавьте контроллеры представления, которые будут отображаться справа, как дочерние контроллеры представления контроллера контейнера. Таким образом, только DetailContainerViewController должен реализовать делегат SplitView. Поэтому нет необходимости беспокоиться о делегате.

Взгляните на пример кода, который я написал на github:

https://github.com/raoying/SplitView-Sample

...