禁用编辑文本字段

时间:2015-04-24 22:50:31

标签: ios swift uitextfield

我想首先说这是我的第一个项目,我在努力寻找答案之前自己发布。我以为我找到了完成此任务的代码。我没有错误,但是当我跑步时,该字段仍然可以编辑。那么,当我设置的规则为真时,如何禁用我的字段编辑?

if sport.count == 1 {

        enterSport.text = sport[0] as String //need to convert to a string
        enterSport.editing; false //do not allow editing

    } else {
        //do nothing
    }

我先前已经定义了数组,所以if语句为true。谢谢你的帮助。

4 个答案:

答案 0 :(得分:18)

enterSport.userInteractionEnabled = false代替editing

editing是一个只读属性,用于指示当前是否正在编辑该字段。

答案 1 :(得分:4)

总结上面的答案和评论:

编辑是一个只读属性。你不能设置它。

如果它是UITextView,它有一个可编辑的属性,你可以设置为false。

如果是UITextField,则需要使用enabled属性或userInteractionEnabled属性。这些都将阻止编辑。正如

答案 2 :(得分:3)

使用Swift 3 Apple将属性userInteractionEnabled更改为isUserInteractionEnabled

代码如下所示:

textfield.isUserInteractionEnabled = true

答案 3 :(得分:0)

还有另一种避免键盘出现的方法

您可以这样设置 UITapGestureRecognizer

let tap = UITapGestureRecognizer(target: self, action: #selector(self.textFieldEditing))
self.enterSport.addGestureRecognizer(tap)

@objc func textFieldEditing() {
    self.enterSport.resignFirstResponder()
    
}