请给出如何在椭圆形或圆形上裁剪UIImage的 idea .请分享你的 idea .

推荐答案

#import <QuartzCore/QuartzCore.h>

CALayer *imageLayer = YourImageview.layer;
        [imageLayer setCornerRadius:5];
        [imageLayer setBorderWidth:1];
        [imageLayer setMasksToBounds:YES];

通过增加半径,它将变得更圆.

只要图像是正方形,就可以将一半宽度作为角半径,得到一个完美的圆:

[imageView.layer setCornerRadius:imageView.frame.size.width/2]; 

您还需要添加

[imageView.layer setMasksToBounds:YES];

Swift 4.2

import QuartzCore

var imageLayer: CALayer? = YourImageview.layer
imageLayer?.cornerRadius = 5
imageLayer?.borderWidth = 1
imageLayer?.masksToBounds = true

Swift相关问答推荐

SwiftUI状态更新

Variadic泛型与Swift中的值和类型参数包

如何从 RC 加载场景作为 ModelEntity 而不是普通实体?

memcpy 复制带偏移量的数组

如何让默认函数参数引用另一个函数参数?

Swiftui 无法从核心数据中获取数据

如何制作具有 2 个视图的 3D 旋转动画?

使用泛型的 Swift 枚举值

为什么 SwiftUI 不在工具栏菜单中反映 @State 属性值?

符合协议 - 错误?

如何让不同的组件拥有不同的动画?

如何根据 SwiftUI 中的字体大小定义按钮的大小?

SwiftUI 4 列表初始化程序在 iOS 中不可用

我如何从 UIAlertController 导航到新屏幕(swiftUI)

为什么 swift 中的类没有存储类型属性?

获取设备图像比例(例如@1x、@2x 和@3x)

如何以编程方式读取 wkwebview 的控制台日志(log)

如何从 UITableViewCell 类中引用 UITableViewController?

如何使用 swift 在 tableview 中填充两个不同数组的两个部分?

转换为 swift 3 后,视图控制器中出现奇怪的通用函数