Po pewnym czasie potrzebuję usunąć zaznaczenie tekstu w UITextView. Jak wyłączyć zaznaczenie tekstu w UITextView?Jak wyłączyć zaznaczenie tekstu w UITextView?
EDIT: muszę zrobić programowo.
Po pewnym czasie potrzebuję usunąć zaznaczenie tekstu w UITextView. Jak wyłączyć zaznaczenie tekstu w UITextView?Jak wyłączyć zaznaczenie tekstu w UITextView?
EDIT: muszę zrobić programowo.
UITextView
przyjmuje protokół UITextInput
, który ma właściwość selectedTextRange
. Ustaw właściwość do zera:
self.textView.selectedTextRange = nil;
poprzedniej odpowiedzi nie działa dla mnie, kompilator narzeka:
Wysyłanie „void *” do parametru niezgodnego typu „NSRange” (aka „struct _NSRange ')
musiałem użyć pustego NSRange
struct zamiast:
[self setSelectedRange:(NSRange){ .location = 0, .length = 0 }];
'selectedTextRange' to nie to samo co' selectedRange'. Właśnie dlatego masz błąd. –
ten sposób to działa i można dotknąć gdziekolwiek chcesz w widoku, aby odznaczyć wcześniej wybrany tekst:
Na UIViewController napisać tę funkcję:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}
Nie powinieneś też nazywać 'super.touchesBegan (_: with:)'? – ma11hew28
Uwaga: To działa tylko na iOS 5+. – lorean