How do I deselect text in UITextView?

2020-03-01 07:10发布

问题:

After some moment I need deselect text in UITextView. How do I deselect text in UITextView?

EDIT: I need to do programmatically.

回答1:

UITextView adopts the UITextInput protocol, which has a selectedTextRange property. Set the property to nil:

self.textView.selectedTextRange = nil;


回答2:

The previous answer didn't work for me, the compiler complains:

Sending 'void *' to parameter of incompatible type 'NSRange' (aka 'struct _NSRange')

I had to use an empty NSRange struct instead:

[self setSelectedRange:(NSRange){ .location = 0, .length = 0 }];


回答3:

This is the way it works and you can touch wherever you want in the view in order to deselect the previously selected text:

On your UIViewController write this function:

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

    self.view.endEditing(true)
}