現在、キーボードが画面に表示されたときにフレームを上に移動する関数を作成しようとしています。NSNNotificationCenter を使い始めました。私のコードは機能していますが、正しくありません。キーボードが表示されると、formView が上に移動しますが、formView で次の textField の編集を開始すると、formView が再び上に移動します。コードの何が問題になっていますか? ありがとう。
- (void)keyboardWillShow:(NSNotification *) aNotification {
NSDictionary *userInfo = [aNotification userInfo];
CGRect frame = self.formView.frame;
frame.origin.y -= 170;
NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval animationDuration;
[animationDurationValue getValue:&animationDuration];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:animationDuration];
formView.frame = frame;
[UIView commitAnimations];
}