0

こんにちは、私の質問を見てくれてありがとう。

横向きのみ(左ボタンまたは右ボタン)をサポートするアプリがあります。横向きで起動します-左。すばらしい-正しい向きで起動し、横向きの左右の間でビューの向きを適切に変更します(サポートされている向きの方法をカスタマイズしました)。

質問に移ります。アプリを起動してビューを追加します。アニメーションを開始してから、最初のビューを2番目のビューと交換します(2番目のビューを3番目のビューと交換します)。

私の問題は、アニメーションが一貫していないことです。

kCATransitionFromLeftを指定すると、トランジションはTOPまたはBOTTOMからスライドインします(デバイスの向きによって異なります)。kCATransitionFromRightから指定すると、同じ動作が得られます。

kCATransitionFromBottomまたはkCATransitionFromTopを指定すると、トランジションは新しいビューが側面からスライドして正しく表示されますが、どちらのサイドから発生するかは、デバイスの向きによって異なります。

ビューを常に右から左にスライドさせたいです。もちろん、kCATransitionFromBottomまたはkCATransitionFromTopを使用してこれを実現するif / thenを記述できますが、もっと簡単な方法があるはずだと思います。

では、方向に応じてアニメーションを一貫して発生させる簡単な方法はありますか?kCATransitionFromBottomが常に下から発生しないのはなぜですか?この動作をどのように変更し始めるのでしょうか?

洞察をありがとう。

4

1 に答える 1

1

作業中のプロジェクトでも同じことをしています。アニメーションはスワイプで開始されます。唯一の違いは、UIImagesを交換していることです。

コードを投稿できれば助かります。今覚えているのは、親ビューとスワップビューがランドスケープビューを正しくサポートしているかどうかを確認することだけです。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
    if (interfaceOrientation == UIInterfaceOrientationLandscapeRight ||
        interfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
        return YES;
    }
    return NO;
}

これがお役に立てば幸いです。

于 2010-07-22T20:47:30.387 に答える