Как лучше всего перенести книжное приложение, которое использует один UiviewController для обработки всех страниц как Uiviews к раскадровке и Uipageview?
-
28-10-2019 - |
Вопрос
У меня есть книжное приложение, в котором есть около 30 страниц, на каждой из которых есть Uiview в одном UiviewController. Я хочу перевести это в приложение, которое использует раскадровку и Uipageviews. Похоже, что каждая из «страниц» в Uipageview должна быть Uiviewcontroller, а не Uiview. Как бы это ни был лучший способ сделать это? Нужно ли сделать Uiviewcontroller из каждой страницы Uiview?
Решение
Проверить Пример iOS 5 iPhone UipageViewController Application статья. Эта глава предоставит краткий обзор концепций, стоящих за контроллером представления страницы, и приложения приложения, предназначенного для демонстрации этого класса в действии.
Другие советы
Ага. Перепишите все свое UIView
Подклассы как UIViewController
подклассы. Я сделал это с несколькими из моих проектов, и это оказывается немного утомительным. Для моих проектов мне было легче всего создать новый проект XCode и создать новую инфраструктуру. Затем создайте новый UIViewController
занятия для каждого из моих старых UIView
классы Затем я скопировал и вставил большую часть кода из старого UIView
занятия в новые UIViewController
классы Я изменил много self
к self.view
. Анкет Жизненный цикл UIViewController
немного сложнее, чем uiview, поэтому я в итоге перенес некоторый код инициализации из назначенного инициализатора в viewDidLoad
а также viewWillAppear
Методы в моем UIViewController
подклассы.
Ответ на комментарий: в моих приложениях многие страницы имеют уникальные интерактивные функции, поэтому я пишу уникальный UIViewController
Подкласс для управления этими функциями. Некоторые страницы будут иметь одинаковые функции, но другой контент. Они просто будут использовать несколько экземпляров одного UIViewController
подкласс. Мой модельный объект сделает их UIViewController
Подклассы и заполняют их подходящим содержанием.
Другими словами, нет необходимости писать новый UIViewController
подкласс для каждой страницы. Только столько, сколько у вас есть уникальная функциональность на странице. Если ваша страница ничего не делает, вы можете просто использовать UIViewController
без подкласса.