AnyImageKit
是一个选取、编辑、拍摄图片/视频的工具套件,使用 Swift 编写。
- 模块化设计
- Picker
- Browser
- Editor
- Capture
- UI 外观支持浅色/深色/自动 (iOS 13.0+)
- 默认主题与微信相似
- 支持多选/混合内容选择
- 支持的媒体类型:
- Photo
- GIF
- Live Photo
- Video
- 相机支持
- Photo
- Video
- Live Photo
- GIF
- 滤镜支持
- 编辑图片 (技术预览版)
- 涂鸦
- 表情
- 文字
- 裁剪
- 马赛克
- 旋转
- 滤镜支持
- 多平台支持
- iOS
- iPadOS
- Mac Catalyst (技术预览版,暂不支持编辑。)
- macOS
- tvOS
- 国际化支持
- 英文 (en)
- 简体中文 (zh-Hans)
- 土耳其语 (tr)
- 葡萄牙语-巴西 (pt-BR)
- 更多支持... (欢迎PR)
- iOS 12.0+
- Xcode 13.0+
- Swift 5.5+
dependencies: [
.package(url: "https://github.com/AnyImageProject/AnyImageKit.git", .upToNextMajor(from: "0.13.0"))
]
将下面内容添加到 Podfile
,并执行依赖更新。
pod 'AnyImageKit'
将下面内容添加到 Cartfile
,并执行依赖更新。
github "AnyImageProject/AnyImageKit"
我们在 Wiki 中提供了更详细的使用说明。
按需在你的 Info.plist 中添加以下键值:
Key | 模块 | 备注 |
---|---|---|
NSPhotoLibraryUsageDescription | Picker | 允许访问相册 |
NSPhotoLibraryAddUsageDescription | Picker | 允许保存图片至相册 |
PHPhotoLibraryPreventAutomaticLimitedAccessAlert | Picker | 设置为 YES iOS 14+ 以禁用自动弹出添加更多照片的弹框(Picker 已适配 Limited 功能,可由用户主动触发,提升用户体验) |
NSCameraUsageDescription | Capture | 允许使用相机 |
NSMicrophoneUsageDescription | Capture | 允许使用麦克风 |
import AnyImageKit
class ViewController: UIViewController {
@IBAction private func openPicker(_ sender: UIButton) {
var options = PickerOptionsInfo()
/*
你的业务代码,更新设置
*/
let controller = ImagePickerController(options: options, delegate: self)
present(controller, animated: true, completion: nil)
}
}
extension ViewController: ImagePickerControllerDelegate {
func imagePickerDidCancel(_ picker: ImagePickerController) {
/*
你的业务代码,处理用户取消(存在默认实现,如果需要额外行为请自行实现本方法)
*/
picker.dismiss(animated: true, completion: nil)
}
func imagePicker(_ picker: ImagePickerController, didFinishPicking result: PickerResult) {
let images = result.assets.map { $0.image }
/*
你的业务代码,处理选中的资源
*/
picker.dismiss(animated: true, completion: nil)
}
}
版本 | 发布时间 | Xcode | Swift | iOS |
---|---|---|---|---|
v0.13.4 | 2021-09-23 | 13.0 | 5.5 | 12.0+ |
v0.13.3 | 2021-08-09 | 12.5 | 5.4 | 10.0+ |
v0.13.2 | 2021-06-30 | 12.5 | 5.4 | 10.0+ |
v0.13.1 | 2021-06-01 | 12.5 | 5.4 | 10.0+ |
v0.13.0 | 2021-02-08 | 12.4 | 5.3 | 10.0+ |
v0.12.0 | 2020-12-30 | 12.2 | 5.3 | 10.0+ |
v0.11.0 | 2020-12-18 | 12.2 | 5.3 | 10.0+ |
v0.10.0 | 2020-11-03 | 12.1 | 5.3 | 10.0+ |
v0.9.0 | 2020-10-09 | 12.0 | 5.3 | 10.0+ |
AnyImageKit 基于 MIT 协议进行分发和使用,更多信息参见协议文件。