将UITextField设置为不可编辑 - 目标C.

use*_*273 12 iphone objective-c uitextfield

    [Number.editable = NO];
    [Number resignFirstResponder];
    [Password.editable = NO];
    [Password resignFirstResponder];
Run Code Online (Sandbox Code Playgroud)

我收到了错误

请求成员'可编辑'的东西不是结构或联合

:S

谢谢

ken*_*ytm 28

首先,[...]如果您没有发送消息,则不需要.

Number.editable = NO;
[Number resignFirstResponder];
Password.editable = NO;
[Password resignFirstResponder];
Run Code Online (Sandbox Code Playgroud)

但这不是错误的原因..editable属性仅为UITextView定义,而不是UITextField.您应该设置.enabled属性对UITextField(注意的UITextField是一个UIControl).

Number.enabled = NO;
...
Run Code Online (Sandbox Code Playgroud)


mak*_*dad 18

此外,您可以使用委托方法.

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
  return NO;
}
Run Code Online (Sandbox Code Playgroud)

这样就可以了,我更喜欢这种方法而不是设置textField.enabled = YES,因为在应用程序的生命周期中,编辑能力可能会发生变化.


小智 6

textField.userInteractionEnabled = NO;
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助..