我尝试创建包含@IDesignable
和UITextField
的{{1}}自定义控件。
我创建了UILabel
和UIView
的子类。在方法UITextFieldDelegate
的此课程中,我创建awakeFromNib()
并将其添加到textField
View
。在故事板上我的主addSubview()
我添加了一个View控件并将其类设置为我的新类。但什么都没发生。我没有看到文字字段。这是我的代码:
ViewController
我应该在哪里创建textField?我的班级CTextField在哪个方法?我应该覆盖绘制方法吗?
答案 0 :(得分:0)
你应该做下一个:
@IBOutlet weak var customTextFieldView: CTextField!
customTextFieldView
storyboard
placeHolderText
最后像这样更新你的课程:
@IBInspectable var placeHolderText: String = "" {
didSet {
textField?.placeholder = placeHolderText
updateView()
}
}
override func awakeFromNib() {
super.awakeFromNib()
}
func updateView() {
subviews.forEach { $0.removeFromSuperview() }
textField = UITextField(frame: CGRect(x: 0, y: 0, width: 300, height: 40))
textField?.backgroundColor = .red
textField?.placeholder = placeHolderText
self.addSubview(textField!)
}