Пояснення, можливо, загублене в деяких інших відповідях тут:
Причиною того, що ця властивість не встановлюється, є layer.borderColor
необхідність значення з типомCGColor
.
Але лише UIColor
типи можна встановити за допомогою визначених користувачем атрибутів середовища виконання!
Отже, ви повинні встановити UIColor для властивості проксі через Interface Builder, а потім перехопити цей виклик, щоб встановити еквівалент CGColor у layer.borderColor
властивості.
Цього можна досягти, створивши категорію на CALayer, встановивши для Ключового шляху унікальну нову "властивість" ( borderColorFromUIColor
), і в категорії замінивши відповідний сетер ( setBorderColorFromUIColor:
).