Я следовал приведенному здесь руководству, чтобы создать просматриваемое и проектируемое представление. Я просто хочу добавить цвет границы, ширину границы и возможность закругления границы в файл UIView
.
Мне удалось показать свойства. Но что бы я не ставил на раскадровке, результат все равно как если бы их там не было. Рамки нет, хотя я установил рамку шириной 2 и черным цветом. Это не отображается ни на раскадровке, ни во время выполнения. Я установил ширину границы 2, но во время выполнения я печатаю значение ширины границы в didViewLoad, и результат равен 0. Что может быть не так?
@IBDesignable extension view: UIView {
@IBInspectable var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
@IBInspectable var borderWidth: CGFloat {
get {
return layer.borderWidth;
}
set {
layer.borderWidth = borderWidth;
}
}
@IBInspectable var borderColor: UIColor? {
get {
return UIColor(CGColor: layer.borderColor!);
}
set {
layer.borderColor = borderColor?.CGColor
}
}
}
И это тоже не работает:
@IBDesignable class BOView: UIView {
@IBInspectable var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
layer.masksToBounds = newValue > 0
}
}
@IBInspectable var borderWidth: CGFloat {
get {
return layer.borderWidth;
}
set {
layer.borderWidth = borderWidth;
}
}
@IBInspectable var borderColor: UIColor? {
get {
return UIColor(CGColor: layer.borderColor!);
}
set {
layer.borderColor = borderColor?.CGColor
}
}
}
Editor
➜Automatically Refresh Views
в IB? - person holex   schedule 18.10.2016