iOS创建一个指定角是圆角的view/button

原文
https://www.appcoda.com/rounded-corners-uiview/

在工作中我们常常会用到给view或者button设置圆角,就像这样:
(这里先不讨论离屏渲染相关)
设置圆角
这当然是很简单的,那么当我们只想要让某个控件部分是圆角该怎么办呢?

  • iOS11以上的情况:

我们来看一下这个属性:
在这里插入图片描述
根据这个注释,我们可以看到这个值可以控制图形的四个角分别对于cornerRadius属性是否响应,默认是全都响应,注意这个属性只能在iOS11之后使用。
我们看一下都可以给该属性赋哪些值:
在这里插入图片描述
比如我们想让图形的左上角和右上角是圆角可以这样写:
在这里插入图片描述

  • iOS10或更早的版本:

那么早10及以前的版本中我们改怎么写呢?
我们可以使用贝塞尔曲线完成。
Using Bezier Path on iOS 10 (or lower)。

使用这个方法:

+ (instancetype)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;
//Rect: 图形的尺寸
//Corners:要剪裁的角
//Radii:圆角的大小

在这里插入图片描述