UITextField始终可编辑

时间:2011-08-29 20:05:44

标签: iphone objective-c xcode user-interface

我在我的一个xib上删除了一个UITextField控件,我希望它不可编辑。我已经“取消选中”“属性检查器”中的“已启用”和“已启用用户交互”。但是,当我在模拟器中运行此应用程序时,当我点击TextField时,键盘始终显示。我一直在搜索,这两个属性似乎控制着这个特定控件的“编辑”。我能够创建一个UITextArea,因为存在一个“可编辑”复选框,我“取消选中”。但是,检查器中没有UITextField的“可编辑”复选框。我运气不好吗?或者是否需要更多我不知道的设置?

5 个答案:

答案 0 :(得分:1)

试试这个:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
    return NO;
}

答案 1 :(得分:0)

如果您要禁用用户的触摸事件,则“已启用”属性是您要查找的属性。

请参阅:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIControl_Class/Reference/Reference.html#//apple_ref/occ/cl/UIControl

您的Interface Builder和应用程序之间的链接可能会遇到一些问题(我已多次遇到此问题)。

尝试直接在代码中设置值,而不是使用IB,看看它是否能为您提供所需的结果。

答案 2 :(得分:0)

试试这个,在你的viewDidLoad中将textField设置为:

myTextField.userInteractionEnabled = FALSE;

答案 3 :(得分:0)

yourTextFieldName.enabled = NO;

这对我来说似乎很有效,希望这会有所帮助。

答案 4 :(得分:0)

由于没有任何解决方案工作(复选框和添加代码以禁用TextField)拉出我的头发后,最终解决问题的是删除控件,然后重新添加它。重新添加后,我可以使用“Enabled”复选框或为textField.enabled指定“NO”来禁用TextField。我不知道为什么它现在有效,但这可以解决其他有同样问题的人。