Раскадровка доступа к свойству UIControl через глобальное значение - PullRequest
0 голосов
/ 29 августа 2018

У меня есть приложение для iPhone с несколькими контроллерами представления. Их соответствующий пользовательский интерфейс настроен в основном файле раскадровки. Для согласованности я определил некоторые глобальные значения высоты текстового поля, размеров шрифта, высоты кнопок и т. Д., Которые будут использоваться многими элементами управления. Текущий способ настройки этих элементов управления заключается в их инициализации в раскадровке, а затем в соответствующем контроллере представления, в рамках viewDidAppear, к глобальным значениям высоты, шрифтов и т. П. Обращаются и присваивают их как оставшиеся свойства этих элементов управления.

Но этот процесс фрагментирован и подвержен ошибкам. Есть ли лучший способ сделать это? Возможно ли иметь доступ к глобальным значениям, определенным в быстрых файлах, внутри раскадровки? Например, может ли шрифт текстового поля, на которое указывает Инспектор атрибутов, фактически ссылаться на глобальное значение?

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Возможным решением будет предварительная обработка файла раскадровки. Запустите сценарий, который ищет соответствующие элементы XML в файле раскадровки и заменяет их правильными значениями. Возможно, вы захотите добавить его как этап сценария запуска, чтобы он запускался перед каждой компиляцией (я не пробовал его, но это кажется возможным, хотя вы не увидите фиксированные значения в раскадровке во время разработки), или просто запустите его вручную из командной строки.

0 голосов
/ 29 августа 2018

Нет способа установить то, что вы хотите, если у вас есть предопределенная высота / шрифт, а затем установить его непосредственно в инспекторе атрибутов, если вы хотите настроить для разных устройств, вы можете попробовать с классами размеров

Или

Создайте подклассы нужных вам элементов (UITextField / UIIButton) и присвойте им имя класса в IB

...