我尝试了以下方法:
属性enabled
和"已启用用户互动";
方法textFieldShouldBeginEditing:
。
但他们禁用文本字段的所有可能操作。我只需禁用编辑但允许用户复制文本值。如何实现这个?
答案 0 :(得分:0)
这可能对您有所帮助。试试
YourTextField.editing = NO;
答案 1 :(得分:0)
实施并设置以下UITextFieldDelegate
:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
return NO;
}
这使得该字段无法编辑,同时仍保留选择/复制功能。 editing
属性是只读且不相关的。
答案 2 :(得分:0)
保持启用的属性,并保持用户交互。否则您将无法选择文本。
将 UITextField 的委托设置为 ViewController 并实现:
斯威夫特:
func textField(_ textField: UITextField,
shouldChangeCharactersIn range: NSRange,
replacementString string: String) -> Bool {
return false
}
答案 3 :(得分:-1)
除了tasuhka的回应,请确保
YourTextField.selectable = YES;