0

これは、キーボードが textfield を隠す非常に一般的な問題です。また、このためにSOに投稿された多くのソリューションがあります。

したがって、現在、iPadの縦向きモードではうまく機能している次の投稿を参照していますが、iPadの横向きモードでは、ビューを上に移動したいので、ビューが左方向にスライドしています。

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    [self animateTextField: textField up: YES];
}


- (void)textFieldDidEndEditing:(UITextField *)textField
{
    [self animateTextField: textField up: NO];
}

- (void) animateTextField: (UITextField*) textField up: (BOOL) up
{
    const int movementDistance = 80; // tweak as needed
    const float movementDuration = 0.3f; // 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];
}
4

1 に答える 1

0

iPad自体がキーボードの「ドッキング解除」や「分割」などの優れたオプションを提供するため、通常、テキストフィールドを配置する必要はありません。[[UIDevice currentDevice] orientation]そのアニメーションテキストフィールドフレームに基づいて使用して、デバイスの現在の向きを確認する必要がある場合は、問題を考慮しています。

于 2012-06-13T13:46:40.727 に答える