iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >iOS中UIBezierPath实现饼状图的方法
  • 688
分享到

iOS中UIBezierPath实现饼状图的方法

2023-06-14 07:06:14 688人浏览 独家记忆
摘要

这篇文章主要介绍iOS中UIBezierPath实现饼状图的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先看效果图:代码:#import <UIKit/UIKit.h> NS_

这篇文章主要介绍iOS中UIBezierPath实现饼状图的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

首先看效果图:

iOS中UIBezierPath实现饼状图的方法

代码:

#import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN @interface CircleView : UIView @property (nonatomic, copy) NSArray<NSNumber *> *valueArray; @end NS_ASSUME_NONNULL_END  //  #define S_W self.frame.size.width #import "CircleView.h" @interface CircleView () @property (nonatomic, copy) NSArray<NSNumber *> *dataArray;@property (nonatomic, assign) CGFloat endAngleFloat; // 每个扇形起点角度 @end @implementation CircleView - (void)setValueArray:(NSArray<NSNumber *> *)valueArray { self.dataArray = valueArray; self.endAngleFloat = 0; [self creatUI];} - (void)creatUI { for (NSInteger i = 0; i<_dataArray.count; i++) { CAShapeLayer *shapeLayer = [CAShapeLayer layer]; shapeLayer.lineWidth = 1; shapeLayer.fillColor = [UIColor colorWithRed:arc4random()%256/255.0f green:arc4random()%256/255.0f blue:arc4random()%256/255.0f alpha:1].CGColor; shapeLayer.strokeColor = shapeLayer.fillColor;  CGFloat valueFloat = [_dataArray[i] floatValue]; CGFloat angleFloat = valueFloat*2*M_PI/100;  UIBezierPath *bezierPath = [UIBezierPath bezierPath]; [bezierPath moveToPoint:CGPointMake(S_W/2, S_W/2)]; [bezierPath addLineToPoint:CGPointMake(S_W*(1+cos(_endAngleFloat))/2, S_W*(1+sin(_endAngleFloat))/2)]; [bezierPath addArcWithCenter:CGPointMake(S_W/2, S_W/2) radius:S_W/2 startAngle:_endAngleFloat endAngle:angleFloat+_endAngleFloat clockwise:YES]; [bezierPath closePath]; shapeLayer.path = bezierPath.CGPath; [self.layer addSublayer:shapeLayer];  [self addLabelWithFloat:valueFloat angleFloat:angleFloat];  _endAngleFloat += angleFloat; }} - (void)addLabelWithFloat:(CGFloat)valueFloat angleFloat:(CGFloat)angleFloat { UILabel *label = [[UILabel alloc] init]; label.center = CGPointMake(S_W*(2+cos(angleFloat/2 + _endAngleFloat))/4, S_W*(2+sin(angleFloat/2 + _endAngleFloat))/4); label.bounds = CGRectMake(0, 0, 50, 50); label.text = [NSString stringWithFORMat:@"%.f%%",valueFloat]; label.textColor = UIColor.whiteColor; label.textAlignment = NSTextAlignmentCenter; label.font = [UIFont systemFontOfSize:14]; [self addSubview:label];}

外部调用:

CircleView *view = [[CircleView alloc] initWithFrame:CGRectMake(20, 100, self.view.frame.size.width-40, self.view.frame.size.width-40)]; view.valueArray = @[@(10),@(20),@(30),@(40)]; [self.view addSubview:view];

以上是“iOS中UIBezierPath实现饼状图的方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: iOS中UIBezierPath实现饼状图的方法

本文链接: https://www.lsjlt.com/news/268715.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • iOS中UIBezierPath实现饼状图的方法
    这篇文章主要介绍iOS中UIBezierPath实现饼状图的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先看效果图:代码:#import <UIKit/UIKit.h> NS_...
    99+
    2023-06-14
  • C#绘制饼状图和柱状图的方法
    本文实例为大家分享了C#绘制饼状图和柱状图的具体代码,供大家参考,具体内容如下 #代码如下: using System; using System.Collections; us...
    99+
    2024-04-02
  • 仅使用一个div配合css实现饼状图的方法
    本篇内容主要讲解“仅使用一个div配合css实现饼状图的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“仅使用一个div配合css实现饼状图的方法”吧!完整的...
    99+
    2024-04-02
  • Python matplotlib怎么实现饼图、柱状图
    这篇文章主要介绍“Python matplotlib怎么实现饼图、柱状图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python matplotlib怎么实现饼图、柱状图”文章能帮助大家解决问题。...
    99+
    2023-06-27
  • .net+FusionChart实现动态显示的柱状图和饼状图
    html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or...
    99+
    2024-04-02
  • VueECharts饼图实现方法详解
    目录前言饼图的特点饼图的基本实现饼图的常见效果显示数值南丁格尔图选中效果圆环前言 本篇来学习饼图的实现 饼图的特点 饼图可以很好地帮助用户快速了解不同分类的数据的占比情况 饼图的基本...
    99+
    2022-12-15
    Vue ECharts饼图 Vue饼图 Vue ECharts
  • 怎么使用纯CSS实现饼状图
    这篇文章主要介绍“怎么使用纯CSS实现饼状图”,在日常操作中,相信很多人在怎么使用纯CSS实现饼状图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2024-04-02
  • C#如何使用GDI+实现饼状图
    这篇文章主要介绍“C#如何使用GDI+实现饼状图”,在日常操作中,相信很多人在C#如何使用GDI+实现饼状图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#如何使用GDI+实现饼状图”的疑惑有所帮助!接下来...
    99+
    2023-06-17
  • PyQt5可视化 7 饼图和柱状图实操案例 ④层叠柱状图和百分比柱状图及饼图的实现【超详解图文教程】
    目录 一、层叠柱状图 1 初始化层叠柱状图和绘制层叠柱状图函数 2 构造函数里调用  3 draw_sta来源地址:https://blog.csdn.net/qq_53317005/article/details/129135505...
    99+
    2023-09-29
    python qt 信息可视化 数据库
  • PyQt5可视化 7 饼图和柱状图实操案例 ③柱状图的实现【超详解】
    目录 一、柱状图 1 import新模块 2 初始化柱状图和绘制柱状图函数  3 反走样 来源地址:https://blog.csdn.net/qq_53317005/article/details/129134181...
    99+
    2023-09-05
    python qt ui 数据库
  • jQuery插件FusionCharts如何实现2D饼状图效果
    这篇文章将为大家详细讲解有关jQuery插件FusionCharts如何实现2D饼状图效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:1、实现源码:<!...
    99+
    2024-04-02
  • python怎么实现读取文件绘制饼状图
    要实现读取文件并绘制饼状图,可以使用Python中的matplotlib库来实现。下面是一个示例代码:```pythonimport...
    99+
    2023-08-17
    python
  • vue实现echart饼图legend显示百分比的方法
    本文主要介绍了vue使用echart的饼图数据部分展示百分比,分享给大家,具体如下: 效果图 实现源码 option = { title : { tex...
    99+
    2024-04-02
  • 怎么在html5中使用canvas实现一个动态画饼状图
    怎么在html5中使用canvas实现一个动态画饼状图?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。先用canvas画实心圆//伪代码var canv...
    99+
    2023-06-09
  • python绘制饼图和直方图的方法
    本文实例为大家分享了python绘制饼图和直方图的具体代码,供大家参考,具体内容如下 #饼图,常与结构分析结合使用 import pandas import numpy impo...
    99+
    2024-04-02
  • iOS实现摄像头实时采集图像的方法
    小编给大家分享一下iOS实现摄像头实时采集图像的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!iOS实现摄像头实时采集图像的具体内容如下新接到一个实时获取摄像...
    99+
    2023-06-14
  • 如何使用纯CSS实现饼状Loading等待图效果
    这篇文章将为大家详细讲解有关如何使用纯CSS实现饼状Loading等待图效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果图:原理这个东西分为两部分:外圈和内圆。颜色这东西都自定义啦,不过我画的的圈圈...
    99+
    2023-06-08
  • Python+matplotlib实现饼图的绘制
    目录一、整理数据二、创建饼图三、爆炸效果四、阴影效果五、为饼图加上百分比六、让饼图旋转不同的角度七、为饼图添加边缘线八、为饼图数据分组一、整理数据 关于cnboo1.xlsx,我放在...
    99+
    2024-04-02
  • vue中怎么使用echarts和echarts-gl实现3D饼图环形饼图
    今天小编给大家分享一下vue中怎么使用echarts和echarts-gl实现3D饼图环形饼图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-07-05
  • python绘制饼图的方法详解
    用法 matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistan...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作