Szukałem rozwiązania tego przez cały ranek, ale muszę jeszcze znaleźć coś, co działa.Ustawienia UITextWyświetl położenie kursora na końcu tekstu
Mam widok tekstowy, w którym znajduje się jakiś stały tekst, którego nie chcę, aby użytkownik mógł modyfikować. W takim przypadku każdy z moich widoków tekstowych zaczyna się od "1.", "2." itp. Pomysł polega na tym, że wpisany tekst będzie ponumerowany za coś, co robię później.
Nie chcę, aby użytkownik mógł usunąć ten tekst (zasadniczo jest "stały"). Nie chcę również pozwolić im na dodawanie tekstu w środku tego wstępnego tekstu.
W tym poradzić, mam zrobić:
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if (range.location < 3) return NO;
return YES;
}
Działa to doskonale, z wyjątkiem, że jeśli użytkownik dotyka nigdzie w moim „1”, „2”, itd części widzenia, ustawi tam kursor, co uniemożliwi użytkownikowi wpisywanie tekstu z powodu sprawdzenia lokalizacji zasięgu. W tym przypadku chcę ustawić kursor (być może w textViewDidBeginEditing) na końcu tekstu w widoku. Jednak niezależnie od tego, z jakiej kombinacji wybranego parametru korzystam, po prostu nie mogę ustawić kursora na końcu. Każda pomoc będzie bardzo ceniona.
Jeszcze prostszym sposobem byłoby umieszczenie twoich numerów na etykiecie tuż przed twoim widokiem tekstu tak, aby wyglądały jak część tego samego zdania. Wtedy będą mogli zmienić tylko odpowiednią część. – lnafziger