// // SecondTurntableView.m // YDXTurntable // // Created by LIN on 16/11/26. // Copyright © 2016年 YDX. All rights reserved. // #import "SecondTurntableView.h" #import "BJRoomGiftModel.h" #import "YZXPieGraphView.h" #define turnScale_W self.bounds.size.width/300 #define turnScale_H self.bounds.size.height/300 @interface SecondTurntableView () @property (nonatomic, strong) UIImageView *rotateWheel;//转盘背景 @property (nonatomic, strong) NSArray *giftArr; //原始数据 @property (nonatomic, assign) NSInteger resultIndex; @property (nonatomic, strong) YZXPieGraphView *pieGraphView; @end @implementation SecondTurntableView { CGRect _viewFrame; } -(instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { _viewFrame = frame; } return self; } - (void)loadPoolDataWithType:(NSInteger)type { NSDictionary *dict = @{@"tid":@(type)}; [BJHttpTool getAwardJiangChiListWithParameters:dict success:^(id response) { if ([response[@"code"] intValue] == 200) { NSArray *arr = [BJRoomGiftModel mj_objectArrayWithKeyValuesArray:response[@"data"]]; if (arr.count > 14) { self.giftArr = [arr subarrayWithRange:NSMakeRange(0, 14)]; }else { self.giftArr = arr; } [self initUI]; } } failure:^(NSError *error) { MYLog(@"获取转盘奖池失败"); }]; } - (void)initUI { if (self.giftArr.count == 0) { return; } // 转盘 self.rotateWheel = [[UIImageView alloc] initWithFrame:self.bounds]; [self addSubview:self.rotateWheel]; [ControlCreator createImageView:self.rotateWheel rect:CGRectMake(24, 24, 252, 252) imageName:@"sec_zhuan_nei_1" backguoundColor:nil]; // [ControlCreator createImageView:self.rotateWheel rect:CGRectMake(84, 84, 132, 132) imageName:@"zhuan_nei_2" backguoundColor:nil]; // NSMutableArray *percentagesArr = [NSMutableArray arrayWithCapacity:0]; // NSMutableArray *colorsArr = [NSMutableArray arrayWithCapacity:0]; // double single = 100.0/self.giftArr.count; // NSArray *defaultColors = @[kClearColor, kClearColor]; // for (NSInteger i = 0; i 0) { turnAngle = - (360/self.giftArr.count * resultIndex); } CGFloat perAngle = M_PI/180.0; CABasicAnimation* rotationAnimation; rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; rotationAnimation.toValue = [NSNumber numberWithFloat:turnAngle * perAngle + 360 * perAngle * turnsNum]; rotationAnimation.duration = 3.0f; rotationAnimation.cumulative = YES; rotationAnimation.delegate = self; //由快变慢 rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault]; rotationAnimation.fillMode=kCAFillModeForwards; rotationAnimation.removedOnCompletion = NO; [self.rotateWheel.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"]; } //转盘停止转动代理方法 - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{ if ([self.delegate respondsToSelector:@selector(turnTableViewDidFinish)]) { [self.delegate turnTableViewDidFinish]; } } @end