EmojiPicker 是一个可定制的软件包
实现了 macOS 风格的 emoji 选择器弹窗
Emoji Picker Preview

Swift CI badge

导航

安装

准备好在 iOS 11.1+ 上与 Swift 4.2+ 一起使用

Swift Package Manager

Swift Package Manager 是一种用于自动化 Swift 代码分发的工具,并已集成到 swift 编译器中。 它与 Swift 构建系统集成,以自动化下载、编译和链接依赖项的过程。

在 Xcode 中,导航到 File → Swift Packages → Add Package Dependency。 使用此 URL 添加依赖项

‌https://github.com/htmlprogrammist/EmojiPicker

设置好 Swift 包后,将其添加到 Package.swiftdependencies 值中即可轻松添加为依赖项。

dependencies: [
    .package(url: "https://github.com/htmlprogrammist/EmojiPicker", .upToNextMajor(from: "3.0.0"))
]

CocoaPods

CocoaPods 是 Cocoa 项目的依赖项管理器。 有关使用和安装说明,请访问他们的网站。 要使用 CocoaPods 将 EmojiPicker 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

pod 'EmojiPicker', :git => 'https://github.com/htmlprogrammist/EmojiPicker'

手动安装

如果您不想使用任何依赖项管理器,您可以手动集成。 将 Sources/EmojiPicker 文件夹放在您的 Xcode 项目中。 确保启用 Copy items if neededCreate groups

快速开始

创建 UIButton 并添加 selector 作为 action

@objc private func openEmojiPickerModule(sender: UIButton) {
    let viewController = EmojiPickerViewController()
    viewController.delegate = self
    viewController.sourceView = sender
    present(viewController, animated: true)
}

然后,在 delegate 方法中接收 emoji

extension ViewController: EmojiPickerDelegate {
    func didGetEmoji(emoji: String) {
        emojiButton.setTitle(emoji, for: .normal)
    }
}

使用方法

Delegate(委托)

EmojiPicker 的 Delegate (委托),用于提供选择的 emoji。

viewController.delegate = self

源视图

包含 popover 锚点的视图。 您可以创建任何 UIView 实例并将它们设置为 sender

viewController.sourceView = sender

此外,还有更多设置可用于配置

选中的 emoji 类别颜色

选中的 emoji 类别的颜色。 此属性的默认值为 .systemBlue

viewController.selectedEmojiCategoryTintColor = .systemRed

箭头方向

EmojiPicker 的箭头方向。 此属性的默认值为 .up

viewController.arrowDirection = .up

水平内边距

sourceView 边框的内边距。 此属性的默认值为 0

viewController.horizontalInset = 0

选择后是否关闭

定义选择后是否关闭 emoji 选择器。 此属性的默认值为 true

viewController.isDismissedAfterChoosing = true

自定义高度

EmojiPicker 的自定义高度。 此属性的默认值为 nil

viewController.customHeight = 300

反馈生成器样式

反馈生成器样式。 要关闭,请将 nil 设置为此参数。 此属性的默认值为 .light

viewController.feedbackGeneratorStyle = .soft

实验

玩转该项目,为其做出贡献,了解其工作原理或自行调整它

  1. 将此存储库克隆或 fork 到您自己的仓库
  2. 打开 Example App/EmojiPicker.xcworkspace 文件
  3. 展开 Pods 目标
  4. 展开 Development PodsEmojiPicker 目录。 在这里您可以进行更改
  5. 构建并运行项目,以在示例应用程序上看到立即结果。 玩得开心!

本地化

您也可以将您的语言贡献到此列表中。 请阅读 以下标题 以获取更多信息。

❗️ 请注意,这些语言按字母顺序排列

贡献

这个项目是基于 MCEmojiPicker 并对其进行了很大的贡献。 当然,欢迎并鼓励在此处进行贡献! 请参阅 贡献指南

为了成为一个真正伟大的社区,我们需要欢迎来自各行各业、具有不同背景和各种经验的开发人员。 多元化和友好的社区将拥有更多伟大的想法、更多独特的视角,并产生更多伟大的代码。 我们将努力使我们的社区欢迎所有人。

为了清楚地说明对我们成员的期望,我们采用了 Contributor Covenant 定义的行为准则。 该文档已在许多开源社区中使用,我们认为它很好地表达了我们的价值观。 有关更多信息,请参阅行为准则