Я работаю над iPhone приложение с автозапуском, которое имеет верхнее и нижнее поле в нижней части представления. Пользователь забирает поле, и мне нужно прокручивать представление вверх над клавиатурой. Вот мой код keyboardDidShow.Автоматическая прокрутка клавиатуры?
- (void) keyboardDidShow:(NSNotification *)notification
{
CGSize kbSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0);
[[self scrollView] setContentInset:contentInsets];
[self setIsKeyboardVisible:YES];
}
Не только если это не работает (я ушел из фактической команды прокрутки), но когда я нажимаю на верхнем поле на вид прокручивается вверх, пока в нижней части этого поля не находится в верхней части клавиатуры. Когда я нажимаю Next на клавиатуре, чтобы переместить курсор в нижнее поле, вид прокручивается вверх еще немного, пока нижняя часть нижнего поля не окажется в верхней части клавиатуры.
Вот как я работать с ключом Return:
- (BOOL) textFieldShouldReturn:(UITextField*)textField
{
switch ([textField tag])
{
case vtNameField:
[[self txtEmail] becomeFirstResponder];
break;
case vtEmailField:
[[self txtEmail] resignFirstResponder];
break;
default:
break;
}
return NO;
}
Кто-нибудь знает, что вызывает прокрутку? Я вижу это поведение в других приложениях, и я думал, что это должно быть закодировано вручную. Я вижу это только в одном моем представлении, и мне интересно, связано ли это с тем, что я настроил.