需求:

1.日常我们在切控件圆角时会遇到想切任意圆角?

2.切过圆角带边框和不带边框的选择?

那么今天我们就用Objective-C和Swift都给它实现了:

OC代码:

UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 200, 70)];

myLabel.text = @"Hi,小韩哥!";

myLabel.font = [UIFont systemFontOfSize:20.0];

myLabel.textAlignment = NSTextAlignmentCenter;

[self.view addSubview:myLabel];

CGFloat radius = 21.0f;

UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:myLabel.bounds byRoundingCorners:UIRectCornerTopRight|UIRectCornerBottomRight cornerRadii:CGSizeMake(radius, radius)];

CAShapeLayer * mask = [[CAShapeLayer alloc] init];

mask.lineWidth = 5;

mask.lineCap = kCALineCapSquare;

// 带边框则两个颜色不要设置成一样即可

mask.strokeColor = [UIColor redColor].CGColor;

mask.fillColor = [UIColor yellowColor].CGColor;

mask.path = path.CGPath;

[myLabel.layer addSublayer:mask];

Swift代码:

override func viewDidLoad() {

super.viewDidLoad()

view.addSubview(myLabel);

myLabel.layer.addSublayer(myLayer);

}

private lazy var myLabel:UILabel = {

let label = UILabel.init(frame: CGRect.init(x: 100, y: 100, width: 200, height: 70));

label.text = "Hi,小韩哥!";

label.textAlignment = .center;

return label;

}()

private lazy var myLayer:CAShapeLayer = {

let path = UIBezierPath.init(roundedRect: self.myLabel.bounds, byRoundingCorners: [.topRight , .bottomRight] , cornerRadii: self.myLabel.bounds.size);

let layer = CAShapeLayer.init();

layer.path = path.cgPath;

layer.lineWidth = 5;

layer.lineCap = kCALineCapSquare;

layer.strokeColor = UIColor.red.cgColor;

// 注意直接填充layer的颜色,不需要设置控件view的backgroundColor

layer.fillColor = UIColor.yellow.cgColor;

return layer;

}()

效果:

更多惊喜:手机加iOS开发者交流群:446310206

ios 控件切圆_iOS中 切圆角,任意几个角(带边框,不带边框)__OC和Swift版本 韩俊强的博客...相关推荐

  1. iOS中 Animation 动画大全 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博! iOS开发者交流QQ群: 446310206 1.iOS中我们能看到的控件都是UIView的子类,比如UIButt ...

  2. iOS开发中的零碎知识点笔记 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博 1.关联 objc_setAssociatedObject关联是指把两个对象相互关联起来,使得其中的一个对象作为另外 ...

  3. iOS开发中 经常遇到的坑,看我就够了! 韩俊强的博客

    从事iOS开发有些年月了,从最开始的磕磕绊绊,不知所措,到现在的遇到困难都能快速做出最佳方案处理,中间经历了不可或缺的痛苦.在项目开发中,本人有用印象笔记记录的习惯,所以很多重复出现的坑,很快迎刃而解 ...

  4. iOS中 Realm的学习与使用 韩俊强的博客

    iOS开发者交流QQ群:446310206  有问题或技术交流可以咨询!欢迎加入! 这篇直接搬了一份官方文档过来看的 由于之前没用markdown搞的乱七八糟的 所以重新做了一份 后面看到官网的中文文 ...

  5. iOS中 为 iOS 建立 Travis CI 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang新浪微博! 你是否曾经试着为 iOS 项目搭建一台支持持续集成的服务器,从我的个人经验而言,这可不是一个轻松的活.首先需要准备一台 ...

  6. iOS中 本地通知/本地通知详解 韩俊强的博客

    布局如下:(重点讲本地通知) iOS开发者交流QQ群: 446310206 每日更新关注:http://weibo.com/hanjunqiang  新浪微博 Notification是智能手机应用编 ...

  7. iOS中 语音识别功能/语音转文字教程具体解释 韩俊强的博客

    前言:近期研究了一下语音识别,从百度语音识别到讯飞语音识别:首先说一下个人针对两者的看法,讯飞毫无疑问比較专业.识别率也非常高真对语音识别是比較精准的,可是非常多开发人员和我一样期望离线识别,而讯飞离 ...

  8. iOS中 语音识别功能/语音转文字教程详解 韩俊强的博客

    原文地址:http://blog.csdn.net/qq_31810357/article/details/51111702 前言:最近研究了一下语音识别,从百度语音识别到讯飞语音识别:首先说一下个人 ...

  9. iOS中 UITableViewCell cell划线那些事 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang 在开发中经常遇到cell分割线显示不全或者想自定义线的宽高等; 最近总结了一下,希望帮到大家: 1.不想划线怎么办? Table ...

最新文章

  1. 美团分布式ID生成服务LeafCode
  2. Xilinx Axi Dma Userspace模式下 寄存器 +MMAP 测试程序
  3. 开发日记-20190425 关键词 gradle基础学习 7年之约 启动篇
  4. Istio Pilot 源码分析(一)
  5. 微机个人笔记-随机存取存储器(RAM)
  6. pb的webserver增加的方法发布后没有显示_震惊!!!Diboot 2.0.5 发布,让开发工作又快又爽...
  7. ffmpeg-filter 入门
  8. 人民用不起的共享充电宝,可能还被植入了木马,这三类要慎用!
  9. shell快速迁移海量文件
  10. zabbix mysql 分离_编译安装zabbix3.0 并且与mysql分离
  11. 未来教育计算机二级2016版,20163未来教育计算机二级题库(操作题).docx
  12. Python os.popen() 方法
  13. python爬12306余票_Python 爬取12306火车票
  14. 腾讯bugly热更新接入
  15. remix os显卡linux,Remix OS 系统 PC版下载和评测 | Remix OS是什么系统_什么值得买
  16. springboot供应商管理系统毕业设计源码121518
  17. opencv 使用 GPU 加速
  18. HFS命令行客户端_HFClient
  19. 指定搜索词的分词方法——elasticsearch
  20. Visual Studio 2015 的安装和使用

热门文章

  1. 解决Django文件表单验证forms.FileField(required=True),总是无法通过验证:这个字段是必填项
  2. class 'memcache' not found php,PHP Fatal error: Class 'Memcache' not found in
  3. 六:SpringCloud-Config
  4. 算法47----大数
  5. php接收base64图片并保存
  6. Oracle数据库SqlLoad常用技巧总结word版
  7. 对动态数组的操作与算法
  8. 2014.11.12模拟赛【美妙的数字】| vijos1904学姐的幸运数字
  9. 基于Windows8与Visual Studio2012开发内核隐藏注册表
  10. ElasticSearch之term vector