采用calyer画多边形

来源:互联网 发布:mac mysql dmg 安装 编辑:程序博客网 时间:2024/05/01 08:13

一直想用calyer做点什么东西,昨天有空探究了下calyer这个东西,如果做动画在calyer层上需要增加新的layer跟uiview addsubview有点类似。但是动画的显示还是有不同之处的。下面上代码显示的结果是一个正五边形
//绘画一个多边形(五边形)
CGFloat x0 = 160.0f;
CGFloat y0 = 200.0f;
CGFloat x ;
CGFloat y ;
CGFloat radius = 150.0f;
UIBezierPath *movePath = [UIBezierPath bezierPath];
CGFloat huDuFromdu = M_PI/(180/72.0);
for (NSInteger i=0; i<6; i++) {
//cos在ios中不能直接用需要cosf转换的弧度中间转换下
x = x0 + radius * cosf(i*M_PI/(180/du));
y = y0 - radius * sinf(i*M_PI/(180/du));
if (i==0) {
[movePath moveToPoint:CGPointMake(x, y)];
}
else
{
[movePath addLineToPoint:CGPointMake(x, y)];
}
}
[movePath closePath];

//添加渲染CAShapeLayer *oneLayer = [CAShapeLayer layer];oneLayer.fillColor = [UIColor yellowColor].CGColor;oneLayer.path = movePath.CGPath;oneLayer.strokeColor = [UIColor orangeColor].CGColor;oneLayer.lineWidth=2;[self.view.layer addSublayer:oneLayer];
0 0
原创粉丝点击