У меня есть UITextView, охватывающий всю настройку контроллера представления в раскадровке. Существуют ограничения на верхнее руководство по макету, нижнее руководство по макету, ведущее поле и конечное поле.
Я зарегистрировался в уведомлениях клавиатуры, чтобы настроить вставки содержимого следующим образом:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardAppeared:)
name:UIKeyboardDidShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDisappeared:)
name:UIKeyboardDidHideNotification
object:nil];
Появилась реализация клавиатуры:
- (void)keyboardAppeared:(NSNotification *)notification {
NSDictionary *notificationUserInfo = [notification userInfo];
CGRect keyboardRect = [[notificationUserInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
self.textView.contentInsets = UIEdgeInsetsMake(0, 0, keyboardRect.heignt, 0);
self.textView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, keyboardRect.height, 0);
}
KeyboardDisappeared реализация:
- (void)keyboardDisappeared:(NSNotification *) {
self.textView.contentInsets = UIEdgeInsetsZero;
self.textView.scrollIndicatorInsets = UIEdgeInsetsZero;
}
Проблема здесь в том, что когда появляется клавиатура, в textView появляется нежелательная прокрутка, если текст textView меньше. Нежелательная прокрутка не появляется, когда размер текста превышает высоту textView.
Пожалуйста помоги!