我已经以编程方式创建了UITextField。现在,当我尝试获取其beginningOfDocument属性时,它正在变为nil

代码如下:

public func addTextField(title:String?=nil) -> UITextField {
    kWindowHeight -= 80.0
    let txt: UITextField = UITextField(frame: CGRect(x: 13, y: 67, width: 213.00, height: 35));
    txt.addTarget(self, action: "textFieldDidChange", forControlEvents: UIControlEvents.EditingChanged)
    txt.borderStyle = UITextBorderStyle.RoundedRect
    txt.layer.cornerRadius = 3
    txt.layer.borderColor = UIColorFromRGB(0x1E8ADB).CGColor
    txt.font = UIFont(name: kDefaultFont, size: 14)
    txt.autocapitalizationType = UITextAutocapitalizationType.Words
    txt.clearButtonMode = UITextFieldViewMode.WhileEditing
    txt.layer.masksToBounds = true
    txt.layer.borderWidth = 1.0
    if title != nil  {
        txt.placeholder = title!
    }
    contentView.addSubview(txt)

    return txt
}


在其他班级,我打电话给:

let textField = AlertView().addTextField("Send SMS")
var begining = textField.beginingOfDocument

最佳答案

如果仅创建UITextField,则立即尝试访问beginningOfDocument属性,或者即使尝试将其添加到超级视图之后,也将始终获得uninitialized值。

在UITextField成为第一个响应者之后,尝试检索该属性,然后查看结果:-)

祝好运。

关于ios - UITextField beginOfDocument属性返回nil,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32524959/

10-09 21:03
查看更多