[Number.editable = NO];
[Number resignFirstResponder];
[Password.editable = NO];
[Password resignFirstResponder];
我收到错误
请求成员'可编辑'的东西不是结构或联合
:S
由于
答案 0 :(得分:28)
首先,如果您没有发送消息,则不需要[...]
。
Number.editable = NO;
[Number resignFirstResponder];
Password.editable = NO;
[Password resignFirstResponder];
但这不是错误的原因。 The .editable
property仅为UITextView定义,而不是UITextField。你应该为UITextField设置the .enabled
property(注意UITextField是一个UIControl)。
Number.enabled = NO;
...
答案 1 :(得分:18)
此外,您可以使用委托方法。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
return NO;
}
这样就可以了,我更喜欢这种方法而不是设置textField.enabled = YES,因为在应用程序的生命周期中,编辑能力可能会发生变化。
答案 2 :(得分:6)
textField.userInteractionEnabled = NO;
希望这会有所帮助..
答案 3 :(得分:0)
从shouldChangeCharactersInRange返回NO将是更好的选择,因为如果文本长于文本字段宽度,那么上面的解决方案将给出问题,因为用户不能看到所有文本(即文本隐藏在文本字段宽度之外)