在Circle Objective-C中绘制三角形

时间:2016-01-29 03:21:05

标签: ios objective-c calayer uibezierpath color-wheel

我试图制作一个旋转色轮。我遇到的问题是试图将圆圈分成几个部分。我能够构造轮子并且我能够让它旋转,但似乎无法弄清楚如何将该轮子分成三角形部分,这样我就可以给每个三角形一个不同的颜色。我不想像我见过的许多可可豆荚一样使用三角形的图像,因为我需要用户能够选择轮子将要有多少个部分(或三角形)。因此,部分编号将改变,并且车轮中的三角形需要相应地调整。我不确定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种颜色等:

enter image description here enter image description here

0 个答案:

没有答案