У меня есть UIView
с UITextField
, расположенным в нижней части экрана, который будет двигаться вверх, когда появится клавиатура.iOS 8 перемещает UIView вверх при появлении клавиатуры | Проблема
Я использовал метод ниже до iOS 8 и, кажется, работает отлично.
// When Keyboard appears
- (void)keyboardWillShow:(NSNotification *)notification {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:[notification.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]];
[UIView setAnimationCurve:[notification.userInfo[UIKeyboardAnimationCurveUserInfoKey]integerValue]];
[UIView setAnimationBeginsFromCurrentState:YES];
// Frame Update
CGRect frame = self.bottomView.frame;
frame.origin.y = self.view.frame.size.height - 266.0f;
self.bottomView.frame = frame;
[UIView commitAnimations];
}
// When keyboard disappears
- (void) keyboardHides : (NSNotification *) notification {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:[notification.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]];
[UIView setAnimationCurve:[notification.userInfo[UIKeyboardAnimationCurveUserInfoKey] integerValue]];
[UIView setAnimationBeginsFromCurrentState:YES];
// Frame update
CGRect frame = self.bottomView.frame;
frame.origin.y = self.view.frame.size.height - self.bottomView.frame.size.height;
self.bottomView.frame = frame;
[UIView commitAnimations];
}
Но приведенный выше код не похоже на работу в iOS 8
как блоки КЛАВИАТУРА UIView за ним.
После небольшого исследования я узнал ответ almost-similar. Но здесь целых UIView
подталкивали вверх, и я бы хотел достичь только для того, чтобы переместить bottom UIView
.
Почему бы вам просто не поместить все в 'UIScrollView' и просто прокрутить его вниз, когда появится клавиатура? –
Я бы рекомендовал вам решить проблему анимации и использовать 'inputAccessoryView' на' UITextField'. Из того, что я могу сказать, это то, что вы пытаетесь сделать в любом случае. – Oxcug
@ Рома-МТ не хочу этого делать :) – Sreejith