Я создал подкласс @IBDesignable UIView
Представление имеет несколько меток и текстовое поле.
Когда я пытаюсь изменить их значение в раскадровке, изменения не отображаются.В постоянных изменениях cornerRadius, borderWidth и borderColor отображаются на раскадровке.
Чего мне не хватает?
Вот как это выглядит в раскадровке:
Вот как это выглядит в симуляторе и как Я ожидаюэто выглядит в раскадровке после рендеринга :
Это код класса:
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]
}
}
Обновление: все неожиданно начало работать