Я пытаюсь переместить курсор, когда UITextView
выбран (коснулся) для имитации вида UITextField placeholder
.
Я бы хотел, чтобы курсор находился в начале первой строки,Моя проблема в том, что [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:
?
Спасибо за вашу помощь!