Creé una subclase @IBDesignable de UIView
La vista tiene un par de etiquetas y un campo de texto.
Cuando trato de cambiar su valor en el guión gráfico, los cambios no se representan. En cambios constantes en cornerRadius, borderWidth y borderColor se representan en el guión gráfico.
¿Qué me estoy perdiendo?
Así es como se ve en el guión gráfico:
Así es como se ve en el simulador y cómo espero que se vea en el guión gráfico después de renderizar :
Este es el código de la clase:
import UIKit @IBDesignable class LoginTextField: UIView { @IBInspectable var cornerRadius: CGFloat = 0 { didSet { layer.cornerRadius = cornerRadius layer.masksToBounds = cornerRadius > 0 } } @IBInspectable var borderWidth: CGFloat = 0 { didSet { layer.borderWidth = borderWidth } } @IBInspectable var borderColor: UIColor? { didSet { layer.borderColor = borderColor?.cgColor } } @IBInspectable var title: String = "" { didSet { titleLabel.text = title } } @IBInspectable var placeholder: String = "" { didSet { textField.placeholder = placeholder } } @IBInspectable var message: String = "" { didSet { messageLabel.text = message } } @IBOutlet weak var titleLabel: UILabel! @IBOutlet weak var textField: UITextField! @IBOutlet weak var messageLabel: UILabel! @IBOutlet var contentView: UIView! override init(frame: CGRect) { super.init(frame: frame) commonInit() } override func awakeFromNib() { super.awakeFromNib() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) commonInit() } private func commonInit() { let bundle = Bundle.init(for: type(of: self)) bundle.loadNibNamed("LoginTextField", owner: self, options: nil) addSubview(contentView) contentView.frame = self.bounds contentView.autoresizingMask = [.flexibleHeight, .flexibleWidth] } }