1.在ViewController.m 中 初始化 画的图形的背景View view2

// 初始化父视图
UIView *view = [[UIView alloc]initWithFrame:CGRectMake(100, 200, 100, 25)];// 坐标可以自行修改[self.view addSubview:view];[ViewController drawBackViewWithView:view BackColor:[UIColor colorWithRed:0.968 green:0.389 blue:0.037 alpha:1.000] LabelText:@"发信息"];//LabelText 是显示的文字UIView *view2 = [[UIView alloc]initWithFrame:CGRectMake(100, 300, 100, 25)];// 坐标可以自行修改[self.view addSubview:view2];[ViewController drawBackViewWithView:view2 BackColor:[UIColor colorWithRed:0.183 green:0.801 blue:0.931 alpha:1.000] LabelText:@"打电话"];

2.在ViewController.m 中  实现单利画图方法

#pragma mark 画不规则矩形(梯形)背景 部分尺寸大小可自行修改
+ (void)drawBackViewWithView:(UIView *)view BackColor:(UIColor *) color LabelText:(NSString *)string
{CGSize finalSize = CGSizeMake(CGRectGetWidth(view.bounds), CGRectGetHeight(view.bounds));CGFloat layerHeight = finalSize.height;CAShapeLayer *layer = [CAShapeLayer layer];UIBezierPath *bezier = [UIBezierPath bezierPath];[bezier moveToPoint:CGPointMake(0, finalSize.height - layerHeight)];[bezier addLineToPoint:CGPointMake(0, finalSize.height-1)];[bezier addLineToPoint:CGPointMake(finalSize.width, finalSize.height - 1)];[bezier addLineToPoint:CGPointMake(finalSize.width-7, finalSize.height - layerHeight)];[bezier addLineToPoint:CGPointMake(0,0)];layer.path = bezier.CGPath;layer.fillColor = color.CGColor;[view.layer addSublayer:layer];UILabel *labe = [[UILabel alloc]initWithFrame:CGRectMake(0, 2.5, CGRectGetWidth(view.bounds)-7, 15)];labe.text = string;labe.textColor = [UIColor whiteColor];labe.textAlignment = NSTextAlignmentCenter;labe.font = [UIFont systemFontOfSize:15];[view addSubview:labe];
}

实现效果如下:

转载请注明出处,谢谢!

利用CAShapeLayer和UIBezierPath结合画梯形图相关推荐

  1. iOS通过CAShapeLayer和UIBezierPath画环形进度条

    UIBezierPath可以绘制矢量路径,而CAShapeLayer是Layer的子类,可以在屏幕进行绘制,本文主要思想是:CAShapeLayer按照UIBezierPath的矢量路径进行绘制. 效 ...

  2. 使用CAShapeLayer与UIBezierPath画出想要的图形

    使用CAShapeLayer与UIBezierPath可以实现不在view的drawRect方法中就画出一些想要的图形 步骤: 1.新建UIBezierPath对象bezierPath 2.新建CAS ...

  3. 利用python画梯形图案例

    利用python画梯形图案例 import matplotlib.pyplot as plt import numpy as npdef mystep(x,y, ax=None, where='pre ...

  4. CAShapeLayer和UIBezierPath

    一:贝塞尔曲线 UIBezierPath 使用UIBezierPath类可以创建基于矢量的路径,这个类再UIKit中.此类是Core Graphics框架关于path的一个封装.使用此类可以定义简单的 ...

  5. java线程画动图闪,Android中利用画图类和线程画出闪烁的心形,android心形,package com....

    Android中利用画图类和线程画出闪烁的心形,android心形,package com.package com.tt.view;import android.content.Context;imp ...

  6. VC++ 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能

    目录 绘制线条 OnLButtonDown函数(DrawView.cpp) 利用SDK全局函数实现画线功能 利用MFC的CDC类实现画线功能 利用MFC的CClientDC类实现画线功能 接上:VC+ ...

  7. Python:利用Pillow库创建字符画

    我们就用这个可爱的小龙猫来做模板 这里,先导入我们要用到的Pillow库中的Image模块 from PIL import Image 创建Image实例,路径的话请自行修改 img = Image. ...

  8. 利用Python的turtle库画自行车

    利用Python的turtle库画自行车 前言 前言总得说点什么.疫情在家,慕课上学习北理工嵩天等老师的<python语言程序设计>[1],觉得turtle画图,挺有意思,既然骑不了自行车 ...

  9. 仿QQ头像透明圆图剪切(CAShapeLayer 和 UIBezierPath的使用)

    最近,研究了一下仿QQ头像透明圆图剪切,参考了一下code4App上一位大神的源码. 下面,把一些具体的思路写下来以助记忆,毕竟好记性不如烂笔头. 首先,用到了CAShapeLayer 和 UIBez ...

最新文章

  1. JS 缓存 设置临时缓存和长期缓存 sessionStorage localStorage
  2. shell编程基础之基本文本工具集合
  3. 在Tomcat中部署Java Web应用程序几种方式
  4. springmvc的相关配置文件
  5. 在.NET Core 3.0中发布单个Exe文件(PublishSingleFile)
  6. mysql 更改root密码及 主机_设置更改root密码(远程,本地)、连接mysql、mysql常用命令...
  7. mysql 横向扩展 中间件_mysql-proxy数据库中间件架构 | 架构师之路
  8. [转] FFmpeg常用基本命令
  9. 20190501-整数翻转
  10. BitMEX将于2月16日16:00引入防止输入错误交易规则
  11. Linux中的两个经典宏定义
  12. 初步了解Java内部类
  13. Atitit etl之道 attilax著 1. ETL 1 1.1. (数据仓库技术) 2 1.2. ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性
  14. 当电脑连接网络的地方显示“查找不到任何网络”解决方案
  15. 电路课设-音响分频器电路设计
  16. 视觉定位领域专栏(二)常用数据集介绍
  17. linux环境下常用的打包、压缩、解压命令(tar、gzip、bzip2、zip)
  18. 华为鸿蒙系统没有芯片,被低估的鸿蒙系统,未来或将解决华为缺芯的难题
  19. 指纹识别与交互(冯建江,2022)
  20. 重庆大学计算机学院新生综合,重庆大学

热门文章

  1. android studio skia demo,Android studio搭建最简单的意玛海图工程
  2. 对于Rust中的可变性(mut关键字)的理解
  3. pxcook使用(量尺寸)+盒子模型+残缺新浪导航栏
  4. 5 安装Neutron网络服务
  5. 从职场新人到职场达人——工作邮件
  6. linux centos 7查看网卡信息,CentOS 7系统中查看网卡信息
  7. 渗透测试业务逻辑测试汇总—通用篇
  8. 机器人索菲娜_当机器人索菲亚获得公民身份后会怎样
  9. 数字信号处理实验指导
  10. 弱市中主力运作手法分析