Я искал решение этой проблемы все утро, но пока не нашел ничего работающего.
У меня есть текстовое представление, в котором есть некоторый существующий фиксированный текст, который я не хочу, чтобы пользователь мог изменять. В этом случае каждое из моих текстовых представлений начинается с «1.», «2.» и т. д. Идея состоит в том, что введенный ими текст будет пронумерован для чего-то, что я сделаю позже.
Я не хочу, чтобы пользователь мог удалить этот текст (по сути, он «постоянный»). Я также не хочу, чтобы они начали добавлять текст в середине этого претекста.
Чтобы справиться с этим, я сделал:
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if (range.location < 3) return NO;
return YES;
}
Это прекрасно работает, за исключением того, что если пользователь коснется любой части моего представления "1. ", "2. " и т. д., он установит курсор там , что затем не позволяет пользователю вводить текст из-за проверки местоположения диапазона. В этом случае я хочу установить курсор (возможно, в textViewDidBeginEditing) в конец текста в представлении. Однако, независимо от того, какую комбинацию selectedRange я использую, я просто не могу заставить проклятый курсор переместиться в конец. Любая помощь будет принята с благодарностью.