Swift 4, Xcode 9.2 : use IBDesignable
y IBInspectable
para crear controles personalizados y obtener una vista previa en vivo del diseño en Interface Builder.
Aquí hay un código de muestra en Swift, ubicado justo debajo UIKit
de ViewController.swift:
@IBDesignable extension UIButton {
@IBInspectable var borderWidth: CGFloat {
set {
layer.borderWidth = newValue
}
get {
return layer.borderWidth
}
}
@IBInspectable var cornerRadius: CGFloat {
set {
layer.cornerRadius = newValue
}
get {
return layer.cornerRadius
}
}
@IBInspectable var borderColor: UIColor? {
set {
guard let uiColor = newValue else { return }
layer.borderColor = uiColor.cgColor
}
get {
guard let color = layer.borderColor else { return nil }
return UIColor(cgColor: color)
}
}
}
Si va a Atributos inspeccionables de la vista, debería encontrar estas propiedades visualmente, edite las propiedades:

Los cambios también se reflejan en los atributos de tiempo de ejecución definidos por el usuario:

¡Corre en tiempo de construcción y listo! Verá su botón redondeado claro con borde.
