带有textField的CustomControl和swfit 4中的标签

时间:2017-12-17 08:01:35

标签: ios swift custom-controls textfield

我尝试创建包含@IDesignableUITextField的{​​{1}}自定义控件。 我创建了UILabelUIView的子类。在方法UITextFieldDelegate的此课程中,我创建awakeFromNib()并将其添加到textField View。在故事板上我的主addSubview()我添加了一个View控件并将其类设置为我的新类。但什么都没发生。我没有看到文字字段。这是我的代码:

ViewController

我应该在哪里创建textField?我的班级CTextField在哪个方法?我应该覆盖绘制方法吗?

1 个答案:

答案 0 :(得分:0)

你应该做下一个:

  • 在视图控制器中创建@IBOutlet weak var customTextFieldView: CTextField!
  • customTextFieldView
  • 中关联storyboard

enter image description here   - 为您的视图设置正确的约束:

enter image description here

  • 在故事板中设置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!)
}