Как отметил Богдан, вы не можете найти свойство layer.borderColor в раскадровке, поскольку это время выполнения.
Однако вы можете установить borderColor без использования IB_DESIGNABLE в любом представлении (или подклассе UIView) с небольшим количеством кодировок.
Ниже приведены шаги, как достигнуть этого,
- Создать категорию на классе CALayer. Объявите свойство типа UIColor с подходящим названием, я назову его borderUIColor.
- Запишите установщик и геттер для этого свойства.
- В методе 'Setter' просто установите свойство borderColor слоя для нового значения цвета CGColor.
- В методе «Getter» возвратите UIColor с помощью borderColor слоя.
P.S: Помните, что категории не могут быть сохранены. «borderUIColor» используется как вычисленное свойство, как ссылка для достижения того, на что мы фокусируемся.
Пожалуйста, взгляните на образец кода ниже;
Objective C:
файла Интерфейс: Файл
#import <QuartzCore/QuartzCore.h>
#import <UIKit/UIKit.h>
@interface CALayer (BorderProperties)
// This assigns a CGColor to borderColor.
@property (nonatomic, assign) UIColor* borderUIColor;
@end
Реализация:
#import "CALayer+BorderProperties.h"
@implementation CALayer (BorderProperties)
- (void)setBorderUIColor:(UIColor *)color {
self.borderColor = color.CGColor;
}
- (UIColor *)borderUIColor {
return [UIColor colorWithCGColor:self.borderColor];
}
@end
Swift 3,1:
extension CALayer {
var borderUIColor: UIColor {
set {
self.borderColor = newValue.cgColor
}
get {
return UIColor(cgColor: self.borderColor!)
}
}
}
И, наконец, перейдите на свою раскадровку/XIB, следуйте оставшимся этапам;
- Нажмите на объект «Вид», для которого вы хотите установить границу цвета.
- Нажмите «Идентификационный инспектор» (третий слева) на панели «Утилита» (правая сторона экрана).
- В разделе «Пользовательские атрибуты времени выполнения» нажмите кнопку «+», чтобы добавить путь к ключу.
- Задайте тип пути для ключа «Цвет».
- Введите значение для ключевого пути как «layer.borderUIColor». [Помните, что это должно быть имя переменной, которое вы объявили в категории, а не borderColor здесь borderUIColor].
- Наконец-то выбрали нужный цвет.
Edit: Вы установить значение layer.borderWidth свойства, по меньшей мере, 1, чтобы увидеть цвет границы.
Строительство и запуск. Счастливое кодирование. :)
Вы можете увидеть [Как добавить границу в раскадровку] (http://stackoverflow.com/questions/12301256/is-it-possible-to-set-uiview-border-properties-from-interface-builder/ 30348021 # 30348021) – iHulk