
Tatsi
一幅具有更多选项和可选多张图片或视频的UIImagePickerController的替代品。
屏幕截图
简介
大家好,我们是Awkward。我们为iOS版Reddit客户端Beam创建了一个可定制的图片选择器。UIImagePickerController只能一次选择一张图片,但我们在Beam中需要更多的图片。Tatsi内置了选择多张图片的支持。除此之外,我们还直接将相机按钮集成到了选择器中。欢迎您在自己的项目中使用Tatsi。
功能
- 使用图库进行照片/视频的多选
- 可以反转图片/视频的显示顺序
- 在选择器内显示相机按钮的选项
- 为照片和视频数量指定最大限制
- 选择用户看到的第一个视图
- 能够在单个视图中显示选择器,合并相册视图和资源集合
- 支持辅助功能(语音读屏和切换控制)
- 易于本地化
- 支持智能相册、用户创建的相册和iCloud共享相册
- 默认支持深色模式
- 使用
TatsiColors
协议进行定制
安装
子模块/嵌入式框架(推荐)
- 将 Tatsi 添加为子模块到您的仓库。
- 将
Tatsi.xcodeproj
拖入您的 Xcode 项目中 - 转到您的项目设置 -> 通用,并在嵌入式框架下添加 Tatsi
- 将
NSPhotoLibraryUsageDescription
添加到您的Info.plist
中,并输入适当的描述。 - (可选)如果想要使用相机选项。您还需要将
NSCameraUsageDescription
添加到您的Info.plist
手动
- 从 Tatsi 文件夹中移除 Tatsi.h 和 Info.plist
- 将 Tatsi 文件夹的内容添加到您的项目中
- 将
NSPhotoLibraryUsageDescription
添加到您的Info.plist
中,并输入适当的描述。 - (可选)如果想要使用相机选项。您还需要将
NSCameraUsageDescription
添加到您的Info.plist
Carthage
- 将
github "awkward/Tatsi"
添加到您的Cartfile
- 运行
carthage update Tatsi
- 将 Tatsi 添加到您项目的嵌入式二进制文件和 Carthage 构建阶段
- 将
NSPhotoLibraryUsageDescription
添加到您的Info.plist
中,并输入适当的描述。 - (可选)如果想要使用相机选项。您还需要将
NSCameraUsageDescription
添加到您的Info.plist
Cocoapods
- 将
pod 'Tatsi'
添加到您的Podfile
- 运行
pod install
- 将
NSPhotoLibraryUsageDescription
添加到您的Info.plist
中,并输入适当的描述。 - (可选)如果想要使用相机选项。您还需要将
NSCameraUsageDescription
添加到您的Info.plist
使用方法
- 将
Import Tatsi
和Import Photos
添加到您的Swift文件中。如果您已手动安装,则可以跳过此步骤。 - (可选) 创建
TatsiConfig
实例并配置设置。 - 创建
TatsiPickerViewController
实例。通过TatsiPickerViewController(config:)
您可以使用前一步骤中的配置。 - 实现
TatsiPickerViewControllerDelegate
- 在
TatsiPickerViewController
上设置pickerDelegate
- 显示
TatsiPickerViewController
本地化
Tatsi默认以英语本地化,但您可以在项目中提供自己的本地化。简单地将键包含在项目本地izable strings中。有关更多信息,请参阅Wiki上的本地化。
杂项
名称来源
Tatsi = 游戏Planet Coaster中使用的Planco语言中的“照片”。 来源
缺失的部分
- 为某些元素着色
- 隐藏和最近删除相册的图标
- 适当的
init?(coder aDecoder: NSCoder)
支持 - UI测试
- 在Travis上运行单元测试
文档
我们努力使文档尽可能保持更新。在此您可以获取有关 Tatsi 的更多信息。
许可
Tatsi 在 MIT 许可下提供。查看 LICENSE 文件获取更多信息。