textView
がキーボードを表示または非表示にしたときに、ぼかしコードを使用して画面を上下に移動して、フォーカスしたときに最後のフィールドを確認できます。キーボードが表示されているときにナビゲーションバーが表示されない
- (void)textViewDidBeginEditing:(UITextView *)textField
{
[self animateTextView: textField up: YES];
}
- (void)textViewDidEndEditing:(UITextView *)textField
{
[self animateTextView: textField up: NO];
}
- (void) animateTextView: (UITextView*) textField up: (BOOL) up
{
const int movementDistance = 130; // tweak as needed
const float movementDuration = 0.2f; // tweak as needed
int movement = (up ? -movementDistance : movementDistance);
[UIView beginAnimations: @"anim" context: nil];
[UIView setAnimationBeginsFromCurrentState: YES];
[UIView setAnimationDuration: movementDuration];
self.view.frame = CGRectOffset(self.view.frame, 0, movement);
[UIView commitAnimations];
}
は、しかし、問題は、それはまた、画面には、上に移動したときに移動していますnavBar
が、それは位置が[self animateTextView: textField up: YES];
を使用した後だでnavBar
をnavBar
以外のすべての移動または維持する方法があるということでしょうか?
なぜですか?なぜあなたはこのようにあなたのビューをデザインしますか? 'UINavigationController'を使わないのはなぜですか?なぜあなたは 'beginAnimations:' APIを使用していますか?これは、iOS/iphoneos 3とは何ですか? –