Mam problem z próbą zmiany zachowania Wytnij/Kopiuj/Wklej z UITextView
. Co chcę osiągnąć: wykryć, kiedy użytkownik wkleił jakiś tekst do UITextView
. Kiedy to wykryję, sprawdzę dane i zrobię swoje.Wykryj, kiedy użytkownik kliknie przycisk wklejania w UITextView
Zgodnie z dokumentami dowiedziałem się o UIResponder
.
Stworzyłem więc prostą klasę, która dziedziczy UITextView
. w pliku .m Tworzę 1 funkcję o nazwie.
-(void) paste:(id)sender{
NSLog(@"paste button was pressed do something");
}
Ale z jakiegoś powodu nigdy nie wydaje ognia. Mogłabym otrzymać instrukcję SELECT do pracy i śledzenia danych.
-(void) select:(id)sender
1. Czy jest to właściwy sposób wykrywania wklejania w UITextView? 2. Teraz śledzę kupno liczby zmian UITextView znaków i jeśli jest większa niż jeden znak, podejrzewam, że może to być operacja wklejania. Ale ponieważ iPhone może autouzupełnić słowa, np. Wedn (idzie do środy), to prawdopodobnie nie jest to operacja wklejania.
W Konstruktorze interfejsów, wybrałem mój tekstView w moim pliku NIB, i wybrałem jego "Tożsamość klasy" do mojej prawie stworzonej klasy wcześniej i wiem, że ten plik działał jako podklasa, ale po prostu nie reagowałby na wklejanie zdarzenie.
dzięki.
Witam, podklasowałem UITextView i wiem, że podklasa działała, kupując implementację innych metod. Posiadałem również kod pasty w mojej podklasie. Ale to nie działa (dobrze w symulatorze). –
Uaktualniłem moją odpowiedź, ale Symulator nie powinien sprawić żadnej różnicy, żeby wiedzieć. I dał +1 btw: P –
Witaj ponownie, użyłem tego, jak zasugerowałeś mieć UITextFeildDelegate. @interface BSTextView: UITextView --- tutaj jest coś całkiem przypadkowy --- jeśli wdrożyć metodę "wybierz", to działa na "Wybierz" - (void) wybrać: (id) nadawca { \t NSLog (@ "Chcę wybrać"); } ale nadal nie ma miłości z urządzenia lub symulatora, jeśli naciskam przycisk. Myślę, że to właściwie BŁĄD ... –