Многоразовый пользовательский интерфейс с параметрами - PullRequest
0 голосов
/ 26 декабря 2018

Я создал пользовательский подкласс UIView с меткой, изображением и вводом текста без специального файла .xib.Класс предназначен для того, чтобы быть элементом, который можно легко использовать для создания формы.Метка - это просто заголовок, который идет над вводом текста, а изображение - это пользовательский значок, который отображается / скрывается в зависимости от того, требуется ли поле.Прямо сейчас в форме, я строю его так:

  • Создание UINib моего пользовательского представления

  • Установить текстlabel

  • Добавить экземпляр UINib в массив

  • После того, как массив построен, выполните итерацию по каждому элементу, приведите его к UIView, добавить в качестве подпредставления и, наконец, добавить ограничения

Моя проблема заключается в следующем - в идеале я хотел бы сделать пользовательскую функцию инициализации, где я передаю 2 параметра: Название (для метки) и логическое значение (если требуется).Я пытался сделать отдельный init, но при запуске симулятора ничего не появлялось.Похоже, мне нужно вызвать функцию UINib (...). Instantiate (...) для отображения реального представления;Однако я не могу понять, как назначить переменные во время этой инициализации.Я ценю любые отзывы / предложения / ресурсы / и т. Д.Спасибо!

1 Ответ

0 голосов
/ 26 декабря 2018

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

convenience init(title: String, isRequired: Bool) {
    self.init()
    titleLabel.text = title
    titleLabel.isHidden = isRequired
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...