CAShapeLayer的使用:UIView对对各个角设置圆角、边框、阴影

前言

开发中经常需要遇到对某个view的一个角或几个角进行圆角处理,而且由于使用Autolayout约束时frame可能会动态变化,每次都要单独写很多代码,现在写个分类简化这种操作

GitHub 代码

参考:

  • iOS NS_OPTIONS 位移枚举
  • NS_OPTIONS的用法
  • ObjC中_cmd的用法
  • View的任意圆角和边框
  • iOS视图切割圆角
  • iOS高性能切圆角工具-适用Autolayout,frame布局
  • iOS 给layer同时添加mask和shadow
    *UIBezierPath详解

知识点:
1、在-(void)layoutSubviews{xxx}里获取bounds适配frame和autolayout变化的情况,同时缓存bounds减少重复操作
2、runtime方式在分类中实现gettersetter
3、使用UIBezierPathCAShapeLayer设置UIView的layer.mask进行切角
4、

CAShapeLayer的使用:UIView对对各个角设置圆角、边框、阴影_第1张图片
Simulator Screen Shot - iPhone Xʀ - 2019-04-19 at 16.24.57.png
CAShapeLayer的使用:UIView对对各个角设置圆角、边框、阴影_第2张图片
Simulator Screen Shot - iPhone Xʀ - 2019-04-19 at 18.58.22.png

你可能感兴趣的:(CAShapeLayer的使用:UIView对对各个角设置圆角、边框、阴影)