使用 SwiftUI 轻松裁剪你的图像
SwiftyCrop – SwiftUI
🔭 概述
SwiftyCrop 允许用户在 SwiftUI 应用程序中无缝裁剪图像。它提供了一个用户友好的界面,让裁剪图像像选择所需区域一样简单。
使用 SwiftyCrop,您可以轻松调整裁剪区域、保持纵横比、放大/缩小以进行精确裁剪。您还可以指定裁剪蒙版为正方形或圆形。
支持并本地化了以下语言:
- 🇬🇧 英语
- 🇩🇪 德语
- 🇫🇷 法语
- 🇮🇹 意大利语
- 🇷🇺 俄语
- 🇪🇸 西班牙语
- 🇹🇷 土耳其语
- 🇺🇦 乌克兰语
可以在 Sources/SwiftyCrop/Resources
中找到本地化文件。
📕 目录
🧳 要求
- iOS 16.0 或更高版本
- Xcode 15.0 或更高版本
- Swift 5.9 或更高版本
💻 安装
在项目中使用 SwiftyCrop 有两种方法:
- 使用 Swift 包管理器
- 手动安装(嵌入 Xcode 项目)
Swift 包管理器
Swift 包管理器 是一个用于管理 Swift 代码的工具。它与 Swift 构建系统集成在一起,以自动化下载、编译和链接依赖项的过程。
要在 Xcode 项目中集成 SwiftyCrop
,可以使用 Xcode 14.3 或更高版本,在 文件 > Swift 包 > 添加包依赖项...
中指定它:
https://github.com/benedom/SwiftyCrop, :branch="master"
手动
如果您不想使用任何依赖项管理器,则可以手动将 SwiftyCrop
集成到项目中。将 Sources/SwiftyCrop
文件夹放入 Xcode 项目中。确保启用 复制项目(如果需要)
和 创建组
。
🛠️ 用法
快速入门
此示例说明如何在图像已经设置后,在全屏封面上显示 SwiftyCropView
。
import SwiftUI
import SwiftyCrop
struct ExampleView: View {
@State private var showImageCropper: Bool = false
@State private var selectedImage: UIImage?
var body: some View {
VStack {
/*
Update `selectedImage` with the image you want to crop,
e.g. after picking it from the library or downloading it.
As soon as you have done this, toggle `showImageCropper`.
Below is a sample implementation:
*/
Button("Crop downloaded image") {
Task {
selectedImage = await downloadExampleImage()
showImageCropper.toggle()
}
}
}
.fullScreenCover(isPresented: $showImageCropper) {
if let selectedImage = selectedImage {
SwiftyCropView(
imageToCrop: selectedImage,
maskShape: .square