我在我的一个xib上删除了一个UITextField控件,我希望它不可编辑。我已经“取消选中”“属性检查器”中的“已启用”和“已启用用户交互”。但是,当我在模拟器中运行此应用程序时,当我点击TextField时,键盘始终显示。我一直在搜索,这两个属性似乎控制着这个特定控件的“编辑”。我能够创建一个UITextArea,因为存在一个“可编辑”复选框,我“取消选中”。但是,检查器中没有UITextField的“可编辑”复选框。我运气不好吗?或者是否需要更多我不知道的设置?
答案 0 :(得分:1)
试试这个:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
return NO;
}
答案 1 :(得分:0)
如果您要禁用用户的触摸事件,则“已启用”属性是您要查找的属性。
您的Interface Builder和应用程序之间的链接可能会遇到一些问题(我已多次遇到此问题)。
尝试直接在代码中设置值,而不是使用IB,看看它是否能为您提供所需的结果。
答案 2 :(得分:0)
试试这个,在你的viewDidLoad中将textField设置为:
myTextField.userInteractionEnabled = FALSE;
答案 3 :(得分:0)
yourTextFieldName.enabled = NO;
这对我来说似乎很有效,希望这会有所帮助。
答案 4 :(得分:0)
由于没有任何解决方案工作(复选框和添加代码以禁用TextField)拉出我的头发后,最终解决问题的是删除控件,然后重新添加它。重新添加后,我可以使用“Enabled”复选框或为textField.enabled指定“NO”来禁用TextField。我不知道为什么它现在有效,但这可以解决其他有同样问题的人。