如何将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];
}