ios 用程序绘制饼图的demo(4)

来源:未知 责任编辑:责任编辑 发表时间:2015-03-01 01:33 点击:

         
        CGContextFillRect(context, CGRectMake(origionx, origiony, 20, 20)); 
        CGContextDrawPath(context, kCGPathFill); 
         
         
        if(i< [titleArr count]) 
        { 
            NSString *title = [ titleArr objectAtIndex:i]; 
            [title drawAtPoint:CGPointMake(origionx + 50, origiony) withFont:[UIFont systemFontOfSize:16]]; 
        } 
         
    } 
     

- (void)drawRect:(CGRect)rect
{
 CGContextRef context = UIGraphicsGetCurrentContext();
 //cgcontextsets
 
 //抗锯齿
 CGContextSetAllowsAntialiasing(context, TRUE);
 
// int arr[5] = {20, 15, 35, 85 ,60};
 
 float sum = 0;
 
 
 for(int j=0;j< [valueArr count]; j++)
 {
  sum  += [[valueArr objectAtIndex:j] floatValue];
 }
 
 
 CGContextMoveToPoint(context, 160, 230);
 
 float currentangel = 0;
 
 //饼图
 CGContextSaveGState(context);
 CGContextScaleCTM(context, 1.0, scaleY);

 currentangel = 0;
 
 for(int i = 0; i< [valueArr count]; i++)
 {

  float startAngle = KDGREED(currentangel);
  
  currentangel += [[valueArr objectAtIndex:i] floatValue] / sum;
  
  float endAngle = KDGREED(currentangel);
  
  
  //绘制上面的扇形
  CGContextMoveToPoint(context, 160, 230);
  
  [[colorArr objectAtIndex:i %  [valueArr count]] setFill];
  
  [[UIColor colorWithWhite:1.0 alpha:0.8] setStroke];
  
  CGContextAddArc(context, 160, 230, 150, startAngle, endAngle, 0);
  
  CGContextClosePath(context);
  CGContextDrawPath(context, kCGPathFill);
  
  
  
  //绘制侧面
  float starx = cos(startAngle) * 150  +160;
  float stary = sin(startAngle) * 150 + 230;
  
  float endx = cos(endAngle) * 150 + 160;
  float endy = sin(endAngle) * 150 + 230;
  

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Lexical or Preprocessor Issue 'xxx.h
  • ios学习笔记(二)xcode 4.3.2下实现基本交互
  • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
  • UITableView一些方法
  • ios版本的helloworld
  • 如何为Iphone应用创建启动界面
  • 去掉屏幕键盘的方法
  • iPhone SDK开发:本地文本文件内容的读取
  • IOS类似iphone通讯录TableView的完整demo【附源码】
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索 - 移动版 - 返回顶部
Copyright © 2008-2013 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1