如何将UIView的右上angular90度旋转/旋转?

我一直在寻找几个小时试图find一种方法来从右上angular90度animation/旋转UIView。

效果应该像从屏幕顶部的摆动门几乎工作。

希望有人能帮助!

所以在我按下回车键后,我突然间把两个和两个放在一起,并认为节拍器样品的工作方式类似于一个摇摆的门,这导致了我一些其他的可能性。

这是我的解决scheme:

- (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]; } 

希望这可以帮助别人!

您应该尝试将图层的锚点设置为(0,1),然后设置图层的animation效果。

你应该试试这个代码:

 -(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]; 

}