Объяснение, возможно, потеряно в некоторых других ответах здесь:
Причина, по которой это свойство не устанавливается, заключается в том, что layer.borderColor
требуется значение с типом CGColor
.
Но только UIColor
типы могут быть установлены через определяемые пользователем атрибуты времени выполнения Interface Builder!
Таким образом, вы должны установить UIColor для свойства прокси через Interface Builder, а затем перехватить этот вызов, чтобы установить эквивалентный CGColor для layer.borderColor
свойства.
Это может быть выполнено путем создания Категории на CALayer, установки ключевого пути на уникальное новое «свойство» ( borderColorFromUIColor
) и в категории, переопределив соответствующий метод установки ( setBorderColorFromUIColor:
).