Как сделать так, чтобы UITextField автоматически прокручивался вверх при появлении клавиатуры в iOS разработке? У меня есть UIView с UITextField’ами, которые вызывают появление клавиатуры, и мне нужно:
- Разрешить прокрутку содержимого UIScrollView для просмотра других текстовых полей после появления клавиатуры
- Автоматически прокручивать вверх, чтобы активное текстовое поле было в центре видимой области
Я пытался изменить класс моего UIView на UIScrollView, но все равно не могу прокручивать текстовые поля вверх или вниз. Мне нужны и UIView, и UIScrollView? Один должен быть внутри другого?
Что нужно реализовать для автоматической прокрутки к активному текстовому полю? В идеале, настройка компонентов должна быть выполнена в Interface Builder с минимальным количеством кода.
Примечание: UIView (или UIScrollView), с которым я работаю, вызывается через tabbar (UITabBar), который должен функционировать нормально.
Я пытался реализовать решение, изменяя фрейм UIScrollView при появлении и скрытии клавиатуры:
-(void)textFieldDidBeginEditing:(UITextField *)textField {
//Клавиатура становится видимой
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height - 215 + 50); // Изменение размера
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
// Клавиатура будет скрыта
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height + 215 - 50); // Изменение размера
}
Однако это не автоматически “перемещает вверх” или не центрирует нижние текстовые поля в видимой области, что мне бы очень хотелось.
Пустое сообщение