ios 在UIView上画图,线条
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上画图,线条的更多相关文章
- iOS获取UIView上某点的颜色值
项目需求中遇到获取UIView上某个坐标点的RGB颜色值的需求,现在把自己找到的解决方案简单总结记录一下,遇到了下面的情况: 不可移动的UIView 旋转式的UIView 滑条式的UIView 不可移 ...
- UIView上的控件使用push方法跳转
有时候在项目中,为了保持前后页面的推进方式跳转方式一致,会在通过UIview上的控件跳到另一个Controller上,所以,这时候就需要用到这种方式了,当然,present方法可以实现跳转但是样式可能 ...
- 【iOS 使用github上传代码】详解
[iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...
- iOS上架ipa上传问题那些事
iOS上架ipa上传问题那些事 原文: http://www.jianshu.com/p/1e22543285c2 字数513 阅读312 评论0 喜欢1 通过xcode直接打包上传,不会提示你的ip ...
- 关于Unity程序在IOS和Android上显示内嵌网页的方式
近期因为有须要在Unity程序执行在ios或android手机上显示内嵌网页.所以遍从网上搜集了一下相关的资料.整理例如以下: UnityWebCore 从搜索中先看到了这个.下载下来了以后发现这个的 ...
- ios 从网络上获取图片并在UIImageView中显示
ios 从网络上获取图片 -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIIm ...
- 阻止IOS自动识别页面上的电话号码、email地址
之前写页面的时候碰到一个很恶心的情况,在6P上数字自动变色,后来找了一些资料: 在iOS的浏览器上,他们有时候会有一些“自作聪明”,自动把页面上的一串数字识别成电话号码,这样用户不小心点击这串数字,就 ...
- iOS实现文件上传功能模块
iOS实现文件上传功能,首先要知道的是,上传到服务器的数据格式,一般采用HTTP文件上传协议.如下图 如图所示,只要设置好了HTTP的协议格式,就可以实现文件上传功能. 代码如下: //图片上传模块 ...
- 在DirectShow的视频图像上叠加线条和文字
在DirectShow的视频图像上叠加线条和文字 最近一直在从事工业测量方面的开发工作,难免会用到各种各样的相机,其中支持DX的USB相机开发起来比较方便,由于工作需要经常要在视频图像上叠加线条和文字 ...
随机推荐
- Web API(三):创建Web API项目
在本篇文章中将讲解如何使用Visual Studio创建一个新的ASP.NET Web API项目. 在Visual Studio中有两种方式用于创建Web API项目: 1.创建带MVC的Web A ...
- StarRTC , AndroidThings , 树莓派小车,公网环境,视频遥控(三)手机端
原文地址:http://blog.starrtc.com/?p=111 这篇来介绍一下整个项目的手机端部分.在上一篇里我们已经将sdk导入到项目中了,下边直接用即可. 1 登录StarRTC的服务跟小 ...
- 专题实验 Statspack & 9大动态视图
statspack 是一个DBA经常用的调优工具, 它的主要作用是, 针对数据库的不同时刻做快照, 然后来比对快照之前的差异和瓶颈, 快照可以是手动的也可以是自动的, 从 oracle 10g开始, ...
- 奇葩问题:ListView中Item与Item中的Button不能单击问题
android中ListView是一个经常要用到的一个组件,用到该组件时经常会碰到ListView的Item和Item中的Button不能单击的问题. 本人在使用时同样也遇到过这样的情况,共有三种情况 ...
- 统计 fastq 文件 q20 , GC 含量的软件
二代测序的分析过程中,经常需要统计原始下机数据的数据量,看数据量是否符合要求:另外还需要统计q20,q30,GC含量等反应测序质量的指标: 在kseq.h 的基础上稍加改造,就可以实现从fastq 文 ...
- js for form
//表单填充 表单填充 , formDataLoad: function (domId, obj) { for (var property in obj) { ...
- jquery获取当前select下拉选的属性值
body中: <li> <select id="select_phone"></select> <input type="but ...
- path与classpath的差别
1.path的作用 path是系统用来指定可运行文件的完整路径.即使不在path中设置JDK的路径也可运行JAVA文件,但必须把完整的路径写出来,如C:\Program Files\Java\ ...
- UVA - 11920 0 s, 1 s and ? Marks
Description 0 s, 1 s and ? Marks Given a string consisting of 0, 1 and ? only, change all the ? to ...
- ORACLE expdp/impdp导出实例
服务器上以sys或system超级管理员登录. SQL>create directory expdp_dir as '/home/oracle/dmpdata';(dmpdata 需要建立.赋予 ...