1

私は1つのアプリケーションを開発しています。その中で、以下のコードを使用してuiviewを右から左に移動したいと思います。

-(void)centerAnimation1:(id)sender
{
theview=qstnview;
CATransition *animation = [CATransition animation];
animation.delegate = self;
[animation setDuration:0.4];
[animation setType:kCATransitionMoveIn];

if(rhtolft)
{
    [animation setSubtype:kCATransitionFromLeft];
}
else 
{
    [animation setSubtype:kCATransitionFromRight];
}
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
//[animation setanima]
[[theWindow layer] addAnimation:animation forKey:@"SwitchToView1"];

[[theview layer] addAnimation:animation forKey:@"SwitchToView1"];
[qstnview removeFromSuperview];
}

- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
    if(animate)
     {
    CATransition *animation = [CATransition animation];
    animation.delegate = self;
    [animation setDuration:0.4];
    [animation setType:kCATransitionMoveIn];
    if(rhtolft)
    {
        [animation setSubtype:kCATransitionFromLeft];
        rhtolft=NO;
    }
    else 
    {
        [animation setSubtype:kCATransitionFromRight];
    }
    //[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
    //[animation setanima]

         [[theview layer] addAnimation:animation forKey:@"SwitchToView1"];


         [self.view addSubview:qstnview];

}
 } 

ただし、これはビューを右側の最後の端から左側に移動していますが、フレームサイズ内でのみ移動する必要があります。右側の端から開始する必要はありません。その方法を教えてください。

4

3 に答える 3

1

アニメーションで画像を変更するには、次のコードを使用します。

CATransition *transition = [CATransition animation];
transition.duration = 1.0f;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionMoveIn;
transition.subtype=kCATransitionFromLeft;
[yourImageViewName.layer addAnimation:transition forKey:nil];
于 2013-02-15T10:03:00.680 に答える
0

この種のことを行うために CA に飛び込む必要はないと思います。UIView アニメーションを使用して実行できます。ここhttp://www.raywenderlich.com/2454/how-to-use-uiview-animation-tutorialは、UIView アニメーションに関する優れたチュートリアルです。

于 2012-09-25T07:01:24.570 に答える