1.画线条(实线,虚线)

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    [self drawXLine:context rect:rect];
    [self drawLegend:context rect:rect];
}
-(CGContextRef)drawXLine:(CGContextRef)context rect:(CGRect)rect
{
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor); //float partren[] = {2,3};
//CGContextSetLineDash(context, 0,partren , 2); //画虚线 CGContextMoveToPoint(context, , );
CGContextAddLineToPoint(context, , );
CGContextStrokePath(context);
return context;
}

2.画图例说明

//画图例说明
-(void)drawLegend:(CGContextRef)context rect:(CGRect)_rect
{
CGSize myShadowOffset = CGSizeMake (, );//矩形和阴影的位置
CGContextSaveGState(context);
CGContextSetFillColorWithColor(context, [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:].CGColor);
CGContextSetShadow (context, myShadowOffset, ); //背景的阴影
CGContextFillRect(context, CGRectMake(self.frame.size.width/-, [UIScreen mainScreen].bounds.size.height-, , 25.0)); NSArray *groupTitle = [NSArray arrayWithObjects:@"提出问题数量",@"方案采纳数量", nil];
int legendCount = [groupTitle count];
int stepWidth = ; for (int i = ; i < legendCount; i++) {
if (i == ){
//设定第一个图例的颜色
CGContextSetFillColorWithColor(context, [UIColor colorWithRed:64.0/255.0 green:104.0/255.0 blue:168.0/255.0 alpha:1.0].CGColor);
}
else {
//设定第二个图例的颜色
CGContextSetFillColorWithColor(context, [UIColor colorWithRed:240.0/255.0 green:152.0/255.0 blue:56.0/255.0 alpha:1.0].CGColor);
}
CGContextSetShadow (context, myShadowOffset, );
CGContextFillRect(context, CGRectMake(stepWidth + , [UIScreen mainScreen].bounds.size.height-, , )); //小方块的大小以及位置 UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(stepWidth+, [UIScreen mainScreen].bounds.size.height-, _rect.size.width, )]; //声明UIlbel并指定其位置和长宽
label2.backgroundColor = [UIColor clearColor]; //设置label的背景色,这里设置为透明色。
label2.font = [UIFont fontWithName:@"Helvetica-Bold" size:]; //设置label的字体和字体大小。
//label2.transform = CGAffineTransformMakeRotation(0.1); //设置label的旋转角度
label2.text = [groupTitle objectAtIndex:i]; //设置label所显示的文本
label2.textColor = [UIColor blackColor]; //设置文本的颜色
label2.textAlignment =NSTextAlignmentLeft; //设置文本在label中显示的位置,这里为居中。
[self addSubview:label2];
stepWidth += ;
}
CGContextRestoreGState(context);
}

---恢复内容结束---

ios 在UIView上画图,线条的更多相关文章

  1. iOS获取UIView上某点的颜色值

    项目需求中遇到获取UIView上某个坐标点的RGB颜色值的需求,现在把自己找到的解决方案简单总结记录一下,遇到了下面的情况: 不可移动的UIView 旋转式的UIView 滑条式的UIView 不可移 ...

  2. UIView上的控件使用push方法跳转

    有时候在项目中,为了保持前后页面的推进方式跳转方式一致,会在通过UIview上的控件跳到另一个Controller上,所以,这时候就需要用到这种方式了,当然,present方法可以实现跳转但是样式可能 ...

  3. 【iOS 使用github上传代码】详解

    [iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...

  4. iOS上架ipa上传问题那些事

    iOS上架ipa上传问题那些事 原文: http://www.jianshu.com/p/1e22543285c2 字数513 阅读312 评论0 喜欢1 通过xcode直接打包上传,不会提示你的ip ...

  5. 关于Unity程序在IOS和Android上显示内嵌网页的方式

    近期因为有须要在Unity程序执行在ios或android手机上显示内嵌网页.所以遍从网上搜集了一下相关的资料.整理例如以下: UnityWebCore 从搜索中先看到了这个.下载下来了以后发现这个的 ...

  6. ios 从网络上获取图片并在UIImageView中显示

    ios 从网络上获取图片   -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIIm ...

  7. 阻止IOS自动识别页面上的电话号码、email地址

    之前写页面的时候碰到一个很恶心的情况,在6P上数字自动变色,后来找了一些资料: 在iOS的浏览器上,他们有时候会有一些“自作聪明”,自动把页面上的一串数字识别成电话号码,这样用户不小心点击这串数字,就 ...

  8. iOS实现文件上传功能模块

    iOS实现文件上传功能,首先要知道的是,上传到服务器的数据格式,一般采用HTTP文件上传协议.如下图 如图所示,只要设置好了HTTP的协议格式,就可以实现文件上传功能. 代码如下: //图片上传模块 ...

  9. 在DirectShow的视频图像上叠加线条和文字

    在DirectShow的视频图像上叠加线条和文字 最近一直在从事工业测量方面的开发工作,难免会用到各种各样的相机,其中支持DX的USB相机开发起来比较方便,由于工作需要经常要在视频图像上叠加线条和文字 ...

随机推荐

  1. 高性能高并发网络库:StateThreads

    StateThreads是一个C的网络程序开发库,提供了编写高性能.高并发.高可读性的网络程序的开发库,轻量级网络应用框架 共也就3000行C代码 网络程序(Internet Application) ...

  2. Fork of LGPL version of JPedal

    https://github.com/on-site/JPedal —————————————————————————————————————————————————————————————————— ...

  3. D方法 自动完成

    控制器 public function insert(){ $Wztj = D("Wztj");if($vo=$Wztj->create()){ if($Wztj->a ...

  4. VC dimension(Vapnik-Chervonenkis dimension)

    二维平面的线性分类器的VC维讨论:http://www.tuicool.com/articles/JjaMfe VC维介绍:http://blog.csdn.net/lucylove3943/arti ...

  5. Hibernate的getTransaction()和beginTransaction()

    session.getTransaction()只是根据session获得一个Transaction实例,但是并没有启动它 session.beginTransaction()在获得一个Transac ...

  6. 终于AC了“最短路径”

    今天做了一道关于最短路径的算法题,虽然最后AC了,但是我写的第一个算法,我认为是没有问题的,自己编写的测试用例也全部通过,反复调试了,都没有错误.可是在OJ上一提交就提示Wrong Answer,真是 ...

  7. 【Java面试题】29 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。

    本题并不难,实现方式有很多种,有很多种结构. 方法一:利用内部类实现,两个实现加减的类实现Runnable接口,然后再实现4个具体线程. 代码: public class ManyThreads { ...

  8. AOP技术应用和研究--AOP简单应用

    为了更好的理解AOP实践和体现AOP的优势.我们始终将OOP和AOP的比較贯穿到下文中.并在终于总结出AOP与OOP相比所拥有的长处,AOP的缺点以及AOP一般的使用场景. 1.1 问题空间到解空间的 ...

  9. Oracle行列转换的思考与总结

    最近几天一直在弄Oracle-SQL的问题,涉及到了一些平时没有用到的东西,也因此而在这里郁闷了好久.现在问题得到了解决虽说不算完美.但是还是和大家一起分享一下. 行列转换之一:sum(case wh ...

  10. 常用帝国cms标签收录

    帝国网站管理系统V6.6版-数据字典 :  http://www.phome.net/doc/manual/extend/html/dbdoc/index.html 帝国模板网:http://www. ...