Я пытаюсь переместить курсор, когда выбран UITextView
(коснулся), чтобы имитировать вид UITextField placeholder
.Перемещение курсора в UITextView
Я хочу, чтобы курсор находился в начале первой строки. Моя проблема в том, что [someTextField setSelectedRange]
не работает надежно. Когда я называю это textView:shouldChangeTextInRange:replacementText:
, он работает так, как должен. Но этот метод вызывается только тогда, когда пользователь начинает печатать. Я использую textViewDidBeginEditing:
, чтобы переместить курсор, когда UITextView
становится первым ответчиком:
- (void)textViewDidBeginEditing:(UITextView *)textView
{
if (textView == self.descriptionText) {
CustomTextView* customTV = (CustomTextView *)textView;
if ([customTV.text isEqualToString:customTV.placeholder]) {
// text in text view is still the placeholder -> move cursor to the beginning
customTV.text = customTV.placeholder;
customTV.textColor = [UIColor lightGrayColor];
customTV.selectedRange = NSMakeRange(0, 0);
}
}
}
Любые идеи, почему customTV.selectedRange = NSMakeRange(0, 0);
не работает должным образом в textViewDidBeginEditing:
?
Благодарим за помощь!
Вы нашли решение на этом? – Legolas