Как я могу сделать UITextField двигаться вверх, когда клавиатура присутствует?
С iOS SDK:
у меня есть UIView
С UITextField
s, которые поднимают клавиатуру. Мне это нужно, чтобы быть в состоянии:
разрешить прокрутку содержимого
UIScrollView
посмотреть другие текстовые поля после того, как клавиатура воспитываетсяавтоматически "прыгать" (путем прокрутки вверх) или укорочение
Я знаю, что мне нужно UIScrollView
. Я попытался изменить класс моего UIView
до UIScrollView
но я все еще не могу прокрутить текстовые поля вверх или вниз.
мне нужны оба a UIView
и UIScrollView
? Входит ли одно в другое?
что необходимо реализовать для автоматической прокрутки до активного текстового поля?
в идеале, как можно больше настроек компонентов будет сделано в Interface Builder. Я хотел бы писать код только для того, что в нем нуждается.
Примечание:UIView
(или UIScrollView
), что я работаю с воспитывается с помощью панели вкладок (UITabBar
), который должен функционировать как обычно.
Edit: я добавляю полосу прокрутки только для того, когда появляется клавиатура. Даже если это не нужно, я чувствую, что он обеспечивает лучший интерфейс, потому что тогда пользователь может прокручивать и изменять текстовые поля, например.
у меня есть это работает, где я изменить размер кадра UIScrollView
когда клавиатура идет вверх и вниз. Я просто использую:
-(void)textFieldDidBeginEditing:(UITextField *)textField {
//Keyboard becomes visible
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height - 215 + 50); //resize
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
//keyboard will hide
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height + 215 - 50); //resize
}
однако, это не автоматически "перемещается" или центрирует нижние текстовые поля в видимой области, что мне действительно хотелось бы.