CustomView - как определить, что компонент находится в интерфейсбилдере?
Разрабатываю свой элемент управления.
@IBDesignable class ATInputMessageView: UIView {
bla
bla
bla
}
Для построения интерфейса использую XIB файл После загрузки из XIB файла я применяю "Тему", которая существует только в процессе работы программы. Соответственно, когда я пытаюсь отобразить этот элемент управления в ИнтерфейсБилдере - тот выпадает по причине отсутствия этой темы ... в связи с чем появляется вопрос:
В C# при разработке визуальных компонентов используется конструкция
if (this.DesignMode) ...
Я где то встречал на просторах интернета подобную конструкцию для SWIFT/XCode
Может кто-то знает?
Ответы (1 шт):
Это можно сделать с помощью макроса TARGET_INTERFACE_BUILDER
#if TARGET_INTERFACE_BUILDER
// рендер из IB
#else
// обычный запуск
#endif
Также есть метод prepareForInterfaceBuilder(), который выполняется только при запуске из IB