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. 执行一条sql语句update多条不同值的记录实现思路

    如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?本文以一个示例向大家讲解下如何实现如标题所示的情况,有此需求的朋友可以了解下 通常情况下,我们会使用以下SQL语句来更新字段值: ...

  2. windows用命令行查看硬件信息

    如何在windows系统自带命令查看硬件信息,怎样dos命令查看硬盘和内存/CPU信息?最直接的是:开始→运行→CMD打开命令提示符,在该窗口下输入systeminfo执行,即可看到几乎所有想知道的系 ...

  3. 【转】【C#】ZIP、RAR 压缩与解压缩

    压缩文件夹 源码如下 using System; using System.Data; using System.Configuration; using System.Web; using Syst ...

  4. [转载] PHP开发必看 编程十大好习惯

    适当抽象 但是在抽象的时候,要避免不合理的抽象,有时也可能造成过渡设计,现在只需要一种螺丝刀,但你却把更多类型的螺丝刀都做出来了(而且还是瑞士军刀的样子..): 一致性 团队开发中,可能每个人的编程风 ...

  5. e558. 在Applet中多图片交互显示

    This is the simplest applet to animate an array of images. In practice, you should use double-buffer ...

  6. CentOS安装emacs24.2命令

    CentOS安装emacs24.2命令 #1.安装如下软件 yum -y groupinstall "Development Tools" yum -y install gtk+- ...

  7. CentOS7怎么修改命令行启动

    root用户下直接执行命令: systemctl set-default multi-user.target 然后reboot即可.

  8. Ubuntu Server 下配置静态网络的方法

    这几天一直在弄hadoop的集群,由于公司的网络原因,偶尔要重启路由器,如果网络是由路由器自动配置的话, 非常容易变换IP,这样的话,SSH无密码验证登陆到其他机器发送的配置文件*.pub就用不了,因 ...

  9. 单例模式(singleton pattern)--------创造型模式

    缺点: 1.单例模式没有抽象层,单例模式的扩展较困那(开闭原则) 2.单例类的职责过重,既提供了业务方法,又提供了创建对象的方法,将对象的创建和对象本身的功能耦合在一起(违反单一职责原则,但是似乎又无 ...

  10. 使用 JMeter 完成常用的压力测试 [转]

    讲到测试,人们脑海中首先浮现的就是针对软件正确性的测试,即常说的功能测试.但是软件仅仅只是功能正确是不够的.在实际开发中,还有其它的非功能因素也起着决定性的因素,例如软件的响应速度.影响软件响应速度的 ...