1
今、キーボードが画面に表示されているときにフレームを上げる機能を記述しようとしています。 私はNSNNotificationCenterの使用を開始しました。私のコードは正しく機能していません。キーボードが表示されたら、私のformViewは動いていますが、私が次のtextViewをformViewで編集し始めると、formViewが再び上がっています。私のコードに何が問題なのですか?おかげさまで NSNotificationCenter
- (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];
}
このコードでは170をハードコードしないでください。マニュアルを読むと、キーボードの実際のサイズをどのように得ることができるかがわかります。 iPad搭載のiOS 5では、キーボードを分割することができるため、フレームを調整しないでください。これは単なる一例です。絶対このようなハードコードのもの。 –
ご意見ありがとうございます。 – nikigx2