Мне удалось заставить атрибуты IBDesignable/IBInspectable
работать с прямыми подклассами NSView
, но не с прямым подклассом NSButton
. Это заставляет меня задаться вопросом, действительно ли реализация Cocoa каким-то образом ограничена только NSView
.
Почти каждый пример в Интернете (и видео Apple WWDC 2014 Xcode) использует NSView
, а затем перетаскивает пользовательский компонент представления из библиотеки на холст (а затем изменяет его класс).
Можно ли использовать IBDesignable
с подклассами NSControl
и NSButton
и т. д.? Я видел много примеров в Интернете с использованием UIButton
.
Если можно, то что из библиотеки перетаскивать на канвас? Не имеет смысла, чтобы это был «пользовательский вид». С другой стороны, нет никакого «настраиваемого управления».
Чтобы было ясно, я могу заставить атрибут IBInspectable отображаться во время разработки; но любые изменения не отображаются в режиме реального времени во время разработки.
Обходной путь состоит в том, чтобы обернуть любой пользовательский NSButton
, который я хочу создать, в NSView
(через композицию), но это похоже на хак...