ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> IOS开发 >> iOS雷达图 iOS RadarChart实现

iOS雷达图 iOS RadarChart实现(1/13)

来源:网络整理     时间:2016-06-20     关键词:

本篇文章主要介绍了" iOS雷达图 iOS RadarChart实现",主要涉及到方面的内容,对于IOS开发感兴趣的同学可以参考一下: 实现效果刚拿到设计稿的时候大概看了一,当时心里想着放张背景图,然后计算下相应点的坐标,在最上面画一层就OK了,其实一开始实现的时候也确实是这么做的,然后我就日了...

         iOS雷达图 iOS RadarChart实现

实现效果

刚拿到设计稿的时候大概看了一眼,当时心里想着放张背景图,然后计算下相应点的坐标,在最上面画一层就OK了,其实一开始实现的时候也确实是这么做的,然后我就日了狗了,发现设计稿上多层五边形的间隔不是相等的,也就是说继续按照之前的想法进行实现就要计算出每层顶点的坐标,那样的话代码估计会被坐标值霸屏了。好吧,推倒重来。

一层一层的分析这个需求,首先是五边形的绘制,我创建了一个UIBezierPath的category。具体的代码如下,其中第一个方法是用来画各顶点不规律的五边形的,而第二个方法是用来画那几个背景五边形,两个方法中的length都指的的中心点到各顶点的距离,第三个方法则是用来将距离转换成具体坐标。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

+ (CGPathRef)drawPentagonWithCenter:(CGPoint)center Length:(double)length

{

    NSArray *lengths = [NSArray arrayWithObjects:@(length),@(length),@(length),@(length),@(length), nil];

    return [self drawPentagonWithCenter:center LengthArray:lengths];

}

+ (CGPathRef)drawPentagonWithCenter:(CGPoint)center LengthArray:(NSArray *)lengths

{

    NSArray *coordinates = [self converCoordinateFromLength:lengths Center:center];

    UIBezierPath *bezierPath = [UIBezierPath bezierPath];

相关图片

相关文章