Создание экземпляров контента в повторно используемом UIViewController - PullRequest
0 голосов
/ 28 мая 2019

Я создаю набор обучающих экранов, чтобы представить свое приложение.

Ранее у меня было три разных viewcontrollers, а затем загрузил их в мой UIPageViewController. Однако это неэффективно, поскольку они используют одинаковые цвета и формат.

Этот формат (для справки) здесь:

enter image description here

Итак, я хочу создать три экземпляра этого контроллера представления и поместить их в массив для моего UIPageViewController. Я инстанцирую с:

UIStoryboard(name : "Main" , bundle : nil).instantiateViewController(withIdentifier: "test")

Итак, ранее я сделал это, а затем создал функцию в контроллере представления для установки текста

let vc = UIStoryboard(name : "Main" , bundle : nil).instantiateViewController(withIdentifier: "test")
vc.setMainText(text: "label Text")

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

Я думаю, что я должен использовать инициализатор для представления - так как я могу использовать инициализатор, если я использую instantiateViewController: withIdentifier?

1 Ответ

1 голос
/ 28 мая 2019

Так как я могу использовать инициализатор, если я использую instantiateViewController:withIdentifier

Вы не можете.Контроллер представления прибывает уже инициализированным.

  • Вы можете иметь три разных экземпляра одного и того же класса контроллера представления в вашей раскадровке, каждый из которых спроектирован по-своему.Таким образом, каждый идентификатор даст вам экземпляр, уже тематический, как вы хотите.

  • В качестве альтернативы, вы можете снабдить свой класс контроллера представления свойствами экземпляра, которые вы можете установить, чтобы настроитьтема и установите эти свойства для каждого экземпляра после того, как вы получите его из раскадровки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...