UITextField的beginOfDocument属性返回nil

时间:2015-09-11 13:43:08

标签: ios uitextfield ios8.3

我以编程方式创建了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

1 个答案:

答案 0 :(得分:1)

如果你只是创建一个UITextField然后立即尝试访问beginningOfDocument属性,或者在尝试将其添加到超级视图后,你将始终获得uninitialized值。

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

祝你好运。