【绘图案例-oc使用奇偶填充规则-饼图 Objective-C语言】

这篇博客介绍了如何在Objective-C中使用奇偶填充规则来绘制饼图,并通过示例代码详细解释了如何创建扇形、设置填充规则以及动态重绘饼图的方法。博主讲解了从画圆、画扇形到根据数据计算角度,以及利用`setNeedsDisplay:`和`setNeedsDisplayInRect:`方法实现视图的局部重绘,帮助读者理解饼图的绘制过程。
摘要由CSDN通过智能技术生成

一、OC怎么使用奇偶填充规则

通知

1.我把这段代码,备份到test1方法里边,

我在这个里边,来一个UIBezierPath

通知

UIBezierPath *path = [UIBezierPath bezierPathWithArc:(CGPoint) radius:(CGFloat) startAngle:(CGFloat) endAngle:(CGFloat) clockwise:(BOOL)];

通知

输入五个参数:

1)圆心:bezierPathWithArCenter:CGPointMake(CGFloat x,CGFloat y),来一个(150,150),

2)半径:radius:(CGFloat),来一个100,

3)startAngle:(CGFloat),来一个0,

4)endAngle:(CGFloat),来一个2 * M_PI,

5)clockwise:(BOOL),来一个1,

通知

然后呢,path,再画一个矩形,我想一下啊,怎么个画法,我先画一个矩形,再画一个圆,

通知

把上面这个画圆的代码,拿到下面来,上面接着,

UIBezierPath *path = [UIBezierPath bezierPathWithRect:(CGRect)];

通知

CGRectMake(CGFloat x,CGFloat y,CGFloat width,CGFloat height);

通知

来一个,CGRectMake(100,100,200,100);

通知

然后呢,再画一个圆,

来一个,path addArcWithCenter:(CGPoint) radius:(CGFloat) startAngle:(CGFloat) endAngle:(CGFloat) clockwise:(BOOL)

通知

输入五个参数:

通知

1)addArcWithCenter:(CGPoint),来一个CGPointMake(150,150),

2)radius:(CGFloat),来一个100,

3)startAngle:(CGFloat),来一个0,

4)endAngle:(CGFloat),来一个2 * M_PI,

5)clockwise:(BOOL),来一个1,

通知

然后,[path fill];

通知

先看一下普通的是什么情况,

通知

大概是这样的一个情况,然后,我现在想让它,中间的这一块儿,肯定是盖过两次的,然后,想让它盖过两次的,变成空心,怎么着去做,

path里边,有一个叫做:usesEvenOddFileRule

通知

就是你告诉它,是不是要使用奇偶填充规则,

一个BOOL类型的,

给它来一个YES,代表使用奇偶填充规则,

path.usesEvenOddFillRule = YES;

通知

command + R,

通知

理解吧,你要告诉它,使用奇偶填充规则,它才会去使用,好,这是一个,关于OC的啊,使用奇偶填充规则,怎么着去做,

二、饼图

1.接下来,我们来画“饼图”,

通知

饼图,实际上,就是一个计算的问题,我们ppt里边,有这么一个效果

通知

有这么一个效果啊,这个效果呢,就是一个饼图的效果,

把之前的copy代码,复制粘贴一份儿,改一个名字:“11-饼图”,

通知

然后呢,在这一块儿来画啊,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风清晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值