UIView默认是矩形  我们可以通过重写drawRect来改变形状。

图1_demo

1、实现黑色箭头我们需要自定义一个view,在.m文件中实现如下代码:

- (void)drawRect:(CGRect)rect {

[super drawRect:rect];

CGContextRef context =UIGraphicsGetCurrentContext();

CGContextSaveGState(context);

//颜色

CGContextSetFillColor(context,CGColorGetComponents(RGBA(34,36,45,1).CGColor));

CGMutablePathRefpath1 =CGPathCreateMutable();

constCGAffineTransformtran[] = {

CGAffineTransformIdentity

};

//绘制的线条(width和height代表当前view的宽度和高度)

CGPointlines[] = {

CGPointMake(0,0),

CGPointMake(width-height/2,0),

CGPointMake(width,height/2),

CGPointMake(width-height/2,height),

CGPointMake(0,height),

CGPointMake(0,0),

};

CGPathAddLines(path1, tran, lines,6);

CGContextAddPath(context, path1);

CGContextClosePath(context);

CGContextFillPath(context);

CGPathRelease(path1);

}

2、颜色渐变箭头也是要自定义view,不过具体实现方法不一样,实现代码如下:

- (void)drawRect:(CGRect)rect{

[superdrawRect:rect];

CGContextRefcontext =UIGraphicsGetCurrentContext();

//创建一个RGB的颜色空间

CGColorSpaceRefrgb =CGColorSpaceCreateDeviceRGB();

//定义渐变颜色数组

CGFloatcolors[] =

{

255.0/255.0,188.0/255.0,84.0/255.0,1.00,

255.0/255.0,108.0/255.0,70.0/255.0,1.00,

};

CGGradientRefgradient =CGGradientCreateWithColorComponents(rgb, colors,NULL,sizeof(colors)/(sizeof(colors[0])*4));

CGColorSpaceRelease(rgb);

CGContextSaveGState(context);

CGContextMoveToPoint(context,0,0);

//(width和height代表当前view的宽度和高度)

CGContextAddLineToPoint(context,width-height/2,0);

CGContextAddLineToPoint(context,width,height/2);

CGContextAddLineToPoint(context,width-height/2,height);

CGContextAddLineToPoint(context,0,height);

CGContextClip(context);

CGContextDrawLinearGradient(context, gradient,CGPointMake

(1,0) ,CGPointMake(width,width),

kCGGradientDrawsAfterEndLocation);

CGContextRestoreGState(context);

}

调用时直接像平常一样创建即可

图2_创建

注意:view初始化之后,一定要设置背景颜色透明,设置背景颜色覆盖绘制的路径。

原谅我实在不知道怎样插入代码块~

ios 画带有箭头的线_ios纯色箭头与渐变色箭头的实现相关推荐

  1. IOS之Label画一条删除线

    IOS之Label画一条删除线 例如上面的价格100 如何对100添加删除线. 我们需要自定义一个Label,继承于UILabel系统类.在xib上对控件添加自定义Label类.LJCenterLab ...

  2. arcgis for android: 绘制带流向箭头的线

    arcgis for android: 绘制带流向箭头的线 需求描述 项目中需要绘制如下图所示的线,但arcgis for android中linesymbol只提供了单箭头/颜色/实虚线等简单配置项 ...

  3. 前端HTML渲染带箭头的线

    前端渲染带箭头的线 1. 效果图 2. 实现方法 参考 1. 效果图 mapbox-gl渲染效果图如下: minedatamap 效果图如下: 2. 实现方法 mapbox-gl minedatama ...

  4. canvas 画一条波浪线 进度条

    前言: 记得刚接触Web的时候, 老板需要画一个有波浪线的进度球: 那个时候无赖不熟悉canvas; 所以这个功能没有满足; 今天刚好有时间来满足下心愿 第一步 我们先实现一个波浪  这里核心就用到了 ...

  5. vsto画箱体图 箱线图 xlboxwhisker

    vsto画箱体图 箱线图 xlboxwhisker using Excel=Microsoft.Office.Interop.Excel; Excel.Chart lChart = null; //1 ...

  6. 使用ggplot2画 点图、箱线图、小提琴图、蜂窝图、云雨图

    使用ggplot2画 点图.箱线图.小提琴图.蜂窝图.云雨图 加载包 library(tidyverse) library(cowplot) library(ggrepel) library(ggsc ...

  7. Echarts绘制带箭头的线

    Echarts绘制带箭头的线 这个图主要参考echarts官网的关系图绘制的,难点在于去掉其余导向图的箭头,只保留最后一个节点的箭头,以及处理值为null时箭头的指向问题,代码如下: <temp ...

  8. CCCanvas 对iOS Metal MetalKit 颜色,点,线,三角形,面,纹理,金字塔,六边形,七边形,立方体 demo 的封装

    CCCanvas 对iOS Metal MetalKit 颜色,点,线,三角形,面,纹理,金字塔,六边形,七边形,立方体 demo 的封装 主要简化演示,没有深入考虑细节 支持CocoaPods 导入 ...

  9. LISP道路中线_如何画两条样条线间中心线之三:CAD插件/Lisp编程法

    前面有介绍过两种CAD画两条样条线的中心线的方法,分别是用三维曲面提取中心线和画辅助取中心线,这两种方法.其实还有更简单的方法,就是用插件,感兴趣的可以自己找有相关功能的插件来使用. 这里提供一个. ...

最新文章

  1. 机器学习第10天:模型评价方法及代码实现
  2. 坚持一个好习惯该有多难?
  3. ktv点歌系统安卓_喜事汇KTV设备更新语音点歌系统,特推出一下优惠活动。转发朋友圈有惊喜。...
  4. Javascript分号,加还是不加?
  5. idea 使用神坑之索引篇(自定义不创建索引文件夹)
  6. 读取JSON文件并 排序,分组,
  7. Python如何输出格式清晰的dict
  8. RSS导入功能已完成
  9. 物联网与嵌入式系统的关系
  10. 阿里云服务安装FTP服务器报200 227 entering passive mode(被动模式)错误
  11. 最新WIN10系统封装教程2019系列(七)——封装
  12. 黑群晖(DSM7)使用docker挂载zerotier one实现内网穿透
  13. APP开发技术方案模板
  14. csgo调哪个会流畅_CSGO:怎样提高游戏帧数,让画面变得更流畅?这些设置可以考虑一下...
  15. Linux_设置smba共享
  16. dc是什么游戏的简称_“DC”是哪种国际卡的简称()A.VISAB.万事达C.运通D.大来
  17. pytorch报错RuntimeError: Inferred elem type differs from existing elem type: (DOUBLE) vs (FLOAT)
  18. 你会用Python写洗脑神曲吗?
  19. 关于HTML怎样用图片做背景
  20. 如何使用 python 接入虹软 ArcFace SDK

热门文章

  1. sql oltp_内存中的OLTP系列– SQL Server 2014上的数据迁移指南过程
  2. sql索引调优_使用内置索引利用率指标SQL Server索引性能调优
  3. 使用Java对sftp带有中文路径的文件夹进行下载,乱码打不开文件夹
  4. LOJ #6053. 简单的函数
  5. LIBUV学习笔记(三)libuv中pipe/tty相关操作以及一个简单的unix域回射服务器/客户端例子...
  6. 提交form前先使用JS进行验证
  7. Android开源库
  8. delphi IOS 通知 TNotification
  9. rails 3 中 app/model 目录下添加继承
  10. acs for PEAP-MSCHAPV2