[Number.editable = NO];
[Number resignFirstResponder];
[Password.editable = NO];
[Password resignFirstResponder];
我遇到了这个错误:
请求访问非结构体或联合体中的“editable”成员。
:S
谢谢
[Number.editable = NO];
[Number resignFirstResponder];
[Password.editable = NO];
[Password resignFirstResponder];
我遇到了这个错误:
请求访问非结构体或联合体中的“editable”成员。
:S
谢谢
[...]
。Number.editable = NO;
[Number resignFirstResponder];
Password.editable = NO;
[Password resignFirstResponder];
但这不是错误的原因。.editable属性只对UITextView定义,而不对UITextField定义。对于UITextField,您应该设置.enabled属性(请注意,UITextField是UIControl)。
Number.enabled = NO;
...
此外,您可以使用委托方法。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
return NO;
}
这样做就行了,我更喜欢这种方法,因为在应用程序的生命周期中可能会改变编辑能力,所以我不想使用textField.enabled = YES的方式。
textField.userInteractionEnabled = NO;
从shouldChangeCharactersInRange返回NO会是更好的选择,因为如果文本长度超过文本字段宽度,则上述解决方案将会出现问题,因为用户将无法看到所有文本(即文本隐藏在文本字段宽度之外)