Я использовал пример для книги, чтобы сдвинуть вид вверх, поскольку клавиатура показывает, что он не закрывает текстовые поля.
Все работает, за исключением того факта, что мой вид скользит вверх и делаетне скользить вниз, если я нажму на фон, чтобы скрыть клавиатуру.Клавиатура скрывается, но вид остается смещенным вверх.Если я использую клавишу возврата, чтобы скрыть клавиатуру, все работает нормально.Ниже приведен мой код:
- (void)keyboardWillShow:(NSNotification *)notif {
NSDictionary* info = [notif userInfo];
NSValue* aValue = [info objectForKey:
UIKeyboardBoundsUserInfoKey];
CGSize keyboardSize = [aValue CGRectValue].size;
float bottomPoint = (password.frame.origin.y+
password.frame.size.height+10);
scrollAmount = keyboardSize.height -
(self.view.frame.size.height- bottomPoint);
if (scrollAmount > 0) {
moveViewUp = YES;
[self scrollTheView:YES];
}
else
moveViewUp = NO;
}
- (void)scrollTheView:(BOOL)movedUp {
[UIControl beginAnimations:nil context:NULL];
[UIControl setAnimationDuration:0.3];
CGRect rect = self.view.frame;
if (movedUp){
rect.origin.y -= scrollAmount;
}
else {
rect.origin.y += scrollAmount;
}
self.view.frame = rect;
[UIControl commitAnimations];
}
-(BOOL)textFieldShouldReturn:(UITextField *) theTextField {
[theTextField resignFirstResponder];
if (moveViewUp) [self scrollTheView:NO];
return YES;
}
Мне трудно понять, почему вид, который анимируется после клавиатуры, скрыт при касании фона, чтобы скрыть клавиатуру
Еще разлюбая помощь приветствуется.