だから...キーボードがポップアップしたときにUIScrollViewを上に移動させ、それが機能します...ただし、UIScrollViewとキーボードが同期しないことを除いて...最初にキーボードがポップアップし、次にUIScrollViewがポップアップします。
ビューがスクロールアップすると同時にキーボードが表示されるように、キーボードを遅らせる方法があることは知っています。それ、どうやったら出来るの??私はviewDidLoadでこれを試しました:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
...そして私もこれを持っています:
- (void)keyboardWillShow:(NSNotification *)notification
{
[NSTimer scheduledTimerWithTimeInterval:4000 target:self selector:@selector(keyboardWillShow:) userInfo:nil repeats:NO];
}
(4000 は膨大な数ですが、遅延があることを確認したかったのです!!)
また、スムーズなスクロールではなく、キーボードを閉じると、 UIScrollView は緩和するのではなく、単純に元の位置に戻ります...それを処理する合理的な方法はありますか?
アップデート:
わかりました...正しい道を歩むために私を助けてくれたSteven Fisherに感謝します...すべてをkeyboardWillShowに移動し、次のコードを追加しました:
[UIScrollView beginAnimations:nil context:NULL];
[UIScrollView setAnimationDelegate:self];
[UIScrollView setAnimationDuration:.32];
[UIScrollView setAnimationBeginsFromCurrentState:NO];
どういうわけか、キーボードが消えたときの「ジャンプ」問題も解決しました! ウーフー!