iPad Master-Detail View с использованием классов iPhone

У меня есть раскадровка iPhone с UITableView который переходит к подробному виду с помощью контроллера навигации. Я пытаюсь повторно использовать мои классы в iPad-версии того же приложения в интерфейсе с мастер-деталями.

Вот как выглядят мои раскадровки, чтобы визуализировать, что я делаю:

раскадровки для iPhone и iPad

Я хочу использовать как можно больше кода, и до сих пор я успешно использовал свой PPAircraftViewController класс с его aircraftTableView,

Вопрос: поскольку приложение для iPad уже использует PPAircraftViewController держать таблицу и подробные виды, как я могу использовать свой PPAircraftDetailViewController класс со всем его кодом и IBOutlets?


Xcode 5, ориентированный на iOS 6 и 7, UISplitViewController не вариант, так как все это встроено в родительский навигационный контроллер.

2 ответа

Решение

Я наконец нашел то, что искал. Я не могу поверить, что это заняло у меня так много времени, чтобы запомнить это, но идеальное решение для этого сценария UIContainerView,

Это позволяет мне встраивать PPAircraftDetailViewController внутри содержащего его контроллера вида, как показано ниже.

Спасибо всем!

UIContainerView

На айфоне твой PPAircraftDetailViewController толкается на стек навигации с помощью PPAircraftViewController,

Это делает то или другое видимым для пользователя.

На iPad Apple предоставляет механизм для отображения MasterView и DetailView рядом друг с другом. UISplitViewController,

В этом случае MasterViewController не "проталкивает" DetailViewController, а активирует его через IBOutlets и Delegation.

Вы можете иметь свой PPAircraftViewController как (часть) MasterViewController и ваш PPAircraftDetailViewer как (часть) DetailViewController.

Это потребует некоторой настройки, но также сэкономит вам много усилий, так как SplitViewController сделает изменение размеров и поворот.

Другие вопросы по тегам