设置 UITextField 不可编辑或可编辑
Setting UITextField not editable or editable
我想知道如何禁用 UITextField
,即出于设计目的,我在 UITextField
的框架中放置了一个 UIButton
。
当我在 UITextField
中点击我的按钮时,键盘出现,但我不想显示键盘!
到目前为止,这是我的代码:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
return textField !=textfiled1;
return textField !=textfiled2;
}
您可以借助以下方法实现此目的:
如果你想禁用编辑,你可以这样做
textField.editable = NO;
如果你想让它再次可编辑,你可以这样做
textField.editable = YES;
使用下面的属性.
textField.userInteractionEnabled = NO;
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return NO;
}
你也可以用这个
您可以使用此 属性:
在文本字段上启用或禁用用户交互
textField.userInteractionEnabled = NO;
在Swift5
textField.isUserInteractionEnabled = false
我认为你的 UIButton
不在 UITextField
上。所以 bringToFromView
首先调用 UIButton
选择器方法。因为编译器在层次结构中检查 Event
。如果首先控制响应事件,那么它不会寻找下一个。
我已经测试了你的方案,在我这边它工作正常。
在 Swift 4 中接受的答案:
textField.isUserInteractionEnabled = false
swift 我的 Obj-C 答案版本
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
return false
}
我想知道如何禁用 UITextField
,即出于设计目的,我在 UITextField
的框架中放置了一个 UIButton
。
当我在 UITextField
中点击我的按钮时,键盘出现,但我不想显示键盘!
到目前为止,这是我的代码:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
return textField !=textfiled1;
return textField !=textfiled2;
}
您可以借助以下方法实现此目的:
如果你想禁用编辑,你可以这样做
textField.editable = NO;
如果你想让它再次可编辑,你可以这样做
textField.editable = YES;
使用下面的属性.
textField.userInteractionEnabled = NO;
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
return NO;
}
你也可以用这个
您可以使用此 属性:
在文本字段上启用或禁用用户交互textField.userInteractionEnabled = NO;
在Swift5
textField.isUserInteractionEnabled = false
我认为你的 UIButton
不在 UITextField
上。所以 bringToFromView
首先调用 UIButton
选择器方法。因为编译器在层次结构中检查 Event
。如果首先控制响应事件,那么它不会寻找下一个。
我已经测试了你的方案,在我这边它工作正常。
在 Swift 4 中接受的答案:
textField.isUserInteractionEnabled = false
swift 我的 Obj-C 答案版本
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
return false
}