0

私は現在、スワイプジェスチャを使用して、あるビューから別のビューにアニメーション化しようとしています。これにより、ビューAが画面から左にアニメーション化され、ビューBが右から表示されるようにアニメーション化されます。

これは実際には私のアプリケーションで機能していますが、ビューAの端に続くビューBの代わりにビューがアニメーション化され、両方が同時に移動する場合、ビューAのアニメーションが終了するまでビューBは移動しません...

これはコードがどのように見えるかです

- (void)swipedScreen:(UISwipeGestureRecognizer*)gesture
{
    if (gesture.direction = UISwipeGestureRecognizerDirectionLeft) {
        [UIView animateWithDuration:1.50 animations:^{

//            [self.detailViewB.view setAlpha:1.0f];
            [self.detailViewB.view setCenter:CGPointMake(CGRectGetMidX(self.view.frame), CGRectGetMidY(self.view.frame))];
            [self.detailViewA.view setCenter:CGPointMake(-640, CGRectGetMidY(self.view.frame))]; 
        }];
    }
}

そして、あなたが自分でソースをコンパイルしたいのであれば、ここに私がいじり回しているコードへのリンクがあります。 http://dl.dropbox.com/u/53813770/SMPrototypeB.zip

どんな助けでも大歓迎です。

4

1 に答える 1

1

コードを修正し、ここにプロジェクトを再アップロードしました

私が行った変更:

-(void) viewDidLoad
{
    [self.detailViewB.view setFrame:CGRectMake(320, 0, self.view.frame.size.width, self.view.frame.size.height)];

}


- (void)swipedScreen:(UISwipeGestureRecognizer*)gesture
{
    if (gesture.direction = UISwipeGestureRecognizerDirectionLeft) {
        [UIView animateWithDuration:1.50 animations:^{

            //            [self.detailViewB.view setAlpha:1.0f];
            [self.detailViewB.view setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
            [self.detailViewA.view setFrame:CGRectMake(-320, 0, self.view.frame.size.width, self.view.frame.size.height)];
        }];
    }
于 2012-05-30T06:59:07.637 に答える