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