【绘图案例-自定义进度条 Objective-C语言】

一、好,我们接着来说这个自定义进度条

通知

1.这个Slider啊,简单的这个value属性,介绍完了,以后,监听也可以监听的到了,接下来,我们来做这个自定义进度条啊,

那么,首先啊,我是这么想的,在这个slider的最小值、和、最大值、我给它改成0、到、1、

通知

因为如果这样的话,到时候,我画里边的那个圆的时候,我只需要让2倍的派,乘上这个数字,就可以了,因为在中间的时候,肯定是0.5,嘛

那我2倍的派,乘上0.5,也就整好是一半吗,

所以,我在这一块儿啊,直接写个0、到、1、

当然,你可以自己随便去写,你要写成0、到、100、也可以,

然后,这样的话,你中间那个Label,显示进度的时候,做起来也就方便了,都是一样的啊,你写多少都行,然后,这是一个啊,我在这儿,直接写成0到1了,我觉得这样最方便,

然后呢,接下来,我们在这个里边,去画圆,画弧,

2.首先,在我们的HMView里边,我们要画一个弧的话,

通知

UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(150, 150) radius:100 startAngle:0 endAngle:2 * M_PI clockwise:1];

[path fill];

通知

// 填充

然后呢,我现在如果,到时候这个值,到时候,我拖动slider啊,我slider在哪儿,是在Controller里边的一个控件,我肯定是要通过Controller,拿到这个值啊,

通知

传给那个View,到时候,一定是要传给那个View的,然后呢,那个View,拿到的那个数字,应该是从0到1的取值范围,

通知

是我slider滑动的这个范围,从0到1,

所以呢,我在这个里边,可以先来试验一下,

就是说,你在自己写程序,也是一样啊,不一定就是一定就是一套写好,先去试一试,跟你想的效果一样了,再去往后做啊,

我在这个里边,直接乘上一个0.5,

通知

就是到时候可能啊,传过来的数,如果,是一个半圆,说明我这块儿,应该是没什么太大的问题,到时候,我直接把这个0.5改成传过来的数字,就可以了,好,command + R,看一下是不是一个半圆啊,

通知

好,确实是一个半圆,但是,这个里边呢,我觉得,好像跟我们示例程序不太一样,示例程序的起点,是从12点钟方向开始的,所以呢,如果我这里就算是乘以0.5的话,我应该把它从12点钟方向,画到6点钟方向,那么这个时候,我这块儿应该稍微改一改吧,好,起点应该改成什么,

0 - M_PI_2

通知

那,终点呢,直接在后边减去 M_PI_2吗,还是减完再乘,还是乘完再减,直接在后边减,是吧,

通知

看一下,

通知

好,这个里边儿啊,实际上,写程序,不要想的太复杂了,想起来什么,你觉得那样做对,你就去写一遍,跑一遍,对了就对了,不对了再去改,不要太去纠结于怎么着去计算,浪费脑细胞啊,实际上,这个里边啊,我们说,我在这块儿,故意写成了0 - M_PI_2,实际上,就是,你不减后边这个数字,你是从3点钟方向,到6点钟方向,你现在想让它位置,整体相当于偏移了90度一样,那你就在两边,都减去一个M_PI_2,

通知

就完了,没有那么复杂,不要去考虑什么,先减再乘,还是先乘再减

3.然后,接下来,我需要做的,就是把这个0.5改了,

通知

假如说,有一天,我传过来的是一个1,

通知

它应该是一个完整的圆,就对了,

通知

然后呢,假如说,我想改成多少,我可以先试一下,改成0.25,

通知

那就是一个这个样子的,

通知

这个样子的效果,发现不太对了,怎么办,这个是不是不是扇形,扇形应该怎么着,去做,对,去往圆心连线,

// 往圆心连线

[path addLineToPoint:CGPointMake(150, 150)];

通知

command + R,

通知

这个时候,就对了,你可以先去试验试验啊,

发现问题了,改问题,然后,再去往后做,接下来,我现在,应该是没啥问题了,

只要把0.25这个数字,

通知

变成传过来的数据,就可以了,

4.那么,所以呢,首先啊,我现在呢,在ViewController里边,我希望把这个,

通知

sender.value,传给这个HMView,那么,首先,我要有HMView的这个对象,所以呢,我应该storyboard,拖根儿线吧,我应该storyboard,把这个蓝色的View,拖到interface里吧,

通知

我应该把这个蓝色的View,拖到这个interface上吧,

通知

不能alloc,init,吧,

能alloc,init吗,不能吧,因为你要alloc,init,是一个新的对象了,对吧,这个里边啊,这个里边儿,实际上,之前,好像

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
大气污染已经成为全球环境问题的突出因素之一,其影响不仅限于空气质量,还包括人类健康、生物多样性、气候变化等多个方面。因此,对大气污染的监测和分析变得越来越重要。在这个方面,R语言已经成为了数据科学家、环境科学家以及政策制定者们的工具之一,因为其强大的数据分析能力、灵活的数据可视化能力以及丰富的统计工具箱。 在大气污染领域中,R语言应用案例非常多。其中一个代表性的案例就是大气污染数据分析。该案例中,利用R语言对大气污染监测的国际数据集进行了分析和可视化,探讨了全球大气污染的状况、变化趋势以及其影响因素等问题。具体来说,该案例主要通过以下步骤完成数据分析: 1. 数据收集:获取全球大气污染监测站的数据集,并通过R语言中常用的数据科学包如dplyr、tidyr、magrittr、ggplot2等进行数据处理和数据清洗,以便数据的更加准确和规范。 2. 数据分析:利用R语言中强大的绘图和数据分析工具箱,从数据中提取出关键信息、探测数据的分布模式和分析变化趋势等。比如,可以针对不同地区的监测站数据进行比较与分析,从而得出全球大气污染的一些普遍规律和统计特征。 3. 结果展示:利用R语言中的数据可视化工具,将分析结果以可视化形式呈现,更有利于数据的交流和传播。比如,可以通过地图绘制、散点图、折线图等方式,将全球大气污染的状况以及其影响因素展示出来。 总之,R语言在大气污染数据分析中具有丰富的工具和方法,不仅可以从数据中提取出关键信息,在分析结果的可视化展示方面表现也非常出色,使得研究人员能够更好地理解和应对大气污染的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

清风清晨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值