iPad Master-Detail View с использованием классов iPhone
У меня есть раскадровка iPhone с UITableView
который переходит к подробному виду с помощью контроллера навигации. Я пытаюсь повторно использовать мои классы в iPad-версии того же приложения в интерфейсе с мастер-деталями.
Вот как выглядят мои раскадровки, чтобы визуализировать, что я делаю:
Я хочу использовать как можно больше кода, и до сих пор я успешно использовал свой PPAircraftViewController
класс с его aircraftTableView
,
Вопрос: поскольку приложение для iPad уже использует PPAircraftViewController
держать таблицу и подробные виды, как я могу использовать свой PPAircraftDetailViewController
класс со всем его кодом и IBOutlet
s?
Xcode 5, ориентированный на iOS 6 и 7, UISplitViewController не вариант, так как все это встроено в родительский навигационный контроллер.
2 ответа
Я наконец нашел то, что искал. Я не могу поверить, что это заняло у меня так много времени, чтобы запомнить это, но идеальное решение для этого сценария UIContainerView
,
Это позволяет мне встраивать PPAircraftDetailViewController
внутри содержащего его контроллера вида, как показано ниже.
Спасибо всем!
На айфоне твой PPAircraftDetailViewController
толкается на стек навигации с помощью PPAircraftViewController
,
Это делает то или другое видимым для пользователя.
На iPad Apple предоставляет механизм для отображения MasterView и DetailView рядом друг с другом. UISplitViewController
,
В этом случае MasterViewController не "проталкивает" DetailViewController, а активирует его через IBOutlets и Delegation.
Вы можете иметь свой PPAircraftViewController
как (часть) MasterViewController и ваш PPAircraftDetailViewer
как (часть) DetailViewController.
Это потребует некоторой настройки, но также сэкономит вам много усилий, так как SplitViewController сделает изменение размеров и поворот.