iOS 实现转盘的效果
效果
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIImageView *panImageView; /** */ @property(nonatomic,assign)int angle; /** 转盘时间 */ @property(strong,nonatomic)NSTimer *timer; /** 计时器 */ @property(strong,nonatomic)NSTimer *timeTick; /** 计时时间 */ @property(nonatomic,assign)int timeNumber; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.timeNumber = 3; self.timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(startAnimation) userInfo:nil repeats:YES]; self.timeTick = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timeFireMethod) userInfo:nil repeats:YES]; } -(void)startAnimation { [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:1]; [UIView setAnimationDelegate:self]; _panImageView.animationRepeatCount = 1; // [UIView setAnimationDidStopSelector:@selector(startAnimation)]; self.angle += 1000; self.panImageView.layer.anchorPoint = CGPointMake(0.5,0.5);//以右下角为原点转,(0,0)是左上角转,(0.5,0,5)心中间转,其它以此类推 self.panImageView.transform = CGAffineTransformMakeRotation(self.angle * (M_PI / 180.0f)); [UIView commitAnimations]; } -(void)timeFireMethod{ self.timeNumber -- ; if (self.timeNumber == 0) { [self.timer invalidate]; } } @end