我试图制作一个旋转色轮。我遇到的问题是试图将圆圈分成几个部分。我能够构造轮子并且我能够让它旋转,但似乎无法弄清楚如何将该轮子分成三角形部分,这样我就可以给每个三角形一个不同的颜色。我不想像我见过的许多可可豆荚一样使用三角形的图像,因为我需要用户能够选择轮子将要有多少个部分(或三角形)。因此,部分编号将改变,并且车轮中的三角形需要相应地调整。我不确定UIBezierPath是否会帮助我。我是Objective-C的新手,有点迷失。提前谢谢!
这是构建方向盘的代码:
-(id) initWithFrame:(CGRect)frame andDelegate:(id)del withSections:(int)sectionsNumber {
if ((self = [super initWithFrame: frame])) {
self.numberOfSections = sectionsNumber;
self.delegate = del;
[self drawWheel];
}
return self;
}
-(void) drawWheel {
container = [[UIView alloc] initWithFrame:self.frame];
container.backgroundColor = [UIColor whiteColor];
container.layer.cornerRadius = 100.0;
container.layer.borderColor = [UIColor blackColor].CGColor;
container.layer.borderWidth = 1.0;
CGFloat angleSize = 2*M_PI/numberOfSections;
for (int i = 0; i < numberOfSections; i++) {
*****CREATE A TRIANGLE HERE AND SET THAT TRIANGLE'S COLOR****
}
//7 Adds the container to the main control.
container.userInteractionEnabled = NO;
[self addSubview:container];
//8 Initialize sectors
sectors = [NSMutableArray arrayWithCapacity:numberOfSections];
if (numberOfSections % 2 == 0) {
[self buildSectorsEven];
} else {
[self buildSectorsOdd];
}
}
我希望它看起来像下面的照片。因此,如果用户选择4个部分,则轮子将具有4种颜色。如果8个部分然后8种颜色等: