简单的方法来禁用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();
其实,你可以在任何你想要的视图上使用它。