Ios 如何设置UIView的动画/将其从右上角旋转90度?

Ios 如何设置UIView的动画/将其从右上角旋转90度?,ios,uiview,rotation,core-animation,transform,Ios,Uiview,Rotation,Core Animation,Transform,我已经搜索了几个小时,试图找到一种从右上角将UIView动画/旋转90度的方法 这种效果几乎可以像屏幕顶部的旋转门一样工作 希望有人能帮忙 您应该尝试将层的锚点设置为(0,1),然后设置层的动画。因此,在我按下enter键后,我突然将两个和两个放在一起,并认为Metronome示例的工作方式有点像摆动门,这让我想到了其他一些可能性 以下是我的解决方案: - (void)viewDidLoad { [super viewDidLoad]; // Set the anchor po

我已经搜索了几个小时,试图找到一种从右上角将UIView动画/旋转90度的方法

这种效果几乎可以像屏幕顶部的旋转门一样工作


希望有人能帮忙

您应该尝试将层的锚点设置为(0,1),然后设置层的动画。

因此,在我按下enter键后,我突然将两个和两个放在一起,并认为Metronome示例的工作方式有点像摆动门,这让我想到了其他一些可能性

以下是我的解决方案:

- (void)viewDidLoad {
    [super viewDidLoad];

    // Set the anchor point and center so the view swings from the upper right
    swingView.layer.anchorPoint = CGPointMake(1.0, 0.0);
    swingView.center = CGPointMake(CGRectGetWidth(self.view.bounds), 0.0);

    // Rotate 90 degrees to hide it off screen
    CGAffineTransform rotationTransform = CGAffineTransformIdentity;
    rotationTransform = CGAffineTransformRotate(rotationTransform, DegreesToRadians(90));
    swingView.transform = rotationTransform;
}

...

- (void)animateSwing {

    CGAffineTransform swingTransform = CGAffineTransformIdentity;
    swingTransform = CGAffineTransformRotate(swingTransform, DegreesToRadians(0));

    [UIView beginAnimations:@"swing" context:swingView];
    [UIView setAnimationDuration:0.25];

    swingView.transform = swingTransform;

    [UIView commitAnimations];
}

希望这对其他人也有帮助

您应该尝试以下代码:

-(void)doRotationView{
[UIView beginAnimations:@"flipping view" context:nil];  
    [UIView setAnimationDuration:1];    
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];   
    [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft    
                           forView:self cache:YES];
    if (flagFront == 1) {
        flagFront =0;
        [self.viewSecond setHidden:NO];
        [self.viewFirst setHidden:YES];
    }
    else{
        flagFront =1;
        [self.viewSecond setHidden:YES];
        [self.viewFirst setHidden:NO];        
    }
    [UIView commitAnimations];

}

在我发布问题后不久,我发现layer.ancorpoint和view.center是罪魁祸首。谢谢你的快速回复!顺便说一句,这个答案是什么导致我从节拍器样本不同的动画。我觉得它干净一点#定义度弧度(角度)((角度)/180.0*M_π)