仅禁用UITextField的编辑?

时间:2014-08-30 11:08:02

标签: ios copy uitextfield editing isenabled

我尝试了以下方法:

  • 属性enabled和"已启用用户互动";

  • 方法textFieldShouldBeginEditing:

但他们禁用文本字段的所有可能操作。我只需禁用编辑但允许用户复制文本值。如何实现这个?

4 个答案:

答案 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;