简单的方法来禁用UITextField?

有没有简单的方法来禁用代码中的UITextField

我的应用程序有12个UITextField ,默认情况下都是打开的,但是当我在段控制中检测到更改时,我想根据用户select哪个段来禁用某些UITextField

只需要知道如何禁用它或使其不可编辑?

谢谢

尝试这个:

 textField.enabled = NO; 

如果您还想指示文本字段已禁用,则应添加更多代码:

如果使用UITextBorderStyleRoundedRect,则只能使文本变灰。

 textField.enabled = NO; textField.textColor = [UIColor lightGrayColor]; 

如果使用任何其他的风格,你也可以灰色的背景:

 textField.enabled = NO; textField.backgroundColor = [UIColor lightGrayColor]; 

这将是最简单的,当你多个文本框:

在viewDidLoad中:(仅为不应编辑的文本字段设置委托。

 self.textfield.delegate=self; 

并插入这个委托函数:

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

而已!

在UIView上做类别。

在该类别中添加以下方法。

 -(void)disable { self.alpha = 0.5; self.userInteractionEnabled = FALSE; } -(void)enable { self.alpha = 1.0; self.userInteractionEnabled = TRUE; } 

然后就打电话

 yourTextField.disable(); 

其实,你可以在任何你想要的视图上使用它。