1

左上隅にアクションを持つ UIButton がある UIview を回転させようとしています:

NSLog@"hello";

UIView を 180° 回転すると、ボタンが右下隅に表示されます。しかし、ボタンは左上隅を押した場合にのみアクションを実行します...ボタンの位置が変更されたようですが、そのアクションは回転前と同じ場所に留まりますか?

でビューを回転させますCAKeyframeAnimation

CAKeyframeAnimation *rotationAnimation;
rotationAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation.z"];

rotationAnimation.values = [NSArray arrayWithObjects:
                            [NSNumber numberWithFloat:0.0 * M_PI], 
                            [NSNumber numberWithFloat:0.75 * M_PI],
                            [NSNumber numberWithFloat:1.5 * M_PI], 
                            [NSNumber numberWithFloat:2.0 * M_PI], nil]; 
rotationAnimation.calculationMode = kCAAnimationPaced;


rotationAnimation.removedOnCompletion = NO;
rotationAnimation.fillMode = kCAFillModeForwards;

rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
rotationAnimation.duration = 10.0;

CALayer *layer = [rotateView layer];
[layer addAnimation:rotationAnimation forKey:@"rotationAnimation"]; 
4

1 に答える 1

0

回転にはCGAFFINETRANSFORMを使用します

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
    CGAffineTransform transform=CGAffineTransformMakeRotation(3.14159265);
    yourView.transform=transform;
[UIView commitAnimations];
于 2012-09-11T14:33:06.293 に答える