MCEmojiPicker 1.2.3

MCEmojiPicker 1.2.3

izyumkin 维护。



  • 作者
  • Ivan Izyumkin

MCEmojiPicker

Version License Platform

关于

这是一个可定制的库,实现了 macOS 风格的表情选择弹窗。

如果您对我如何开发它以及在这个过程中遇到的困难感兴趣,您可以在 MediumHabr 上阅读相关文章。如果您喜欢这个项目,请别忘了给它 star ★

限制

  • 不支持片段表情。例如
    • 支持:🤝🏻 🤝🏿
    • 不支持:🫱🏿‍🫲🏻 🫱🏼‍🫲🏿

如果您知道如何修复它 - 欢迎加入 讨论

使用 Apps

如果您使用 MCEmojiPicker,请通过 Pull Request 添加您的应用程序。有关更多信息,您可以通过 贡献指南 查看。

导航

需求

  • Swift 4.2 & 5.0
  • 适用于 iOS 11.1+ 的准备就绪
  • 从 iOS 13.0 开始支持 SwiftUI

安装

CocoaPods

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

pod 'MCEmojiPicker'

Swift 包管理器

Swift 包管理器 是用于管理 Swift 代码分发的工具。它与 Swift 构建系统集成,以自动化下载、编译和链接依赖项的过程。

使用 Xcode 11 将 MCEmojiPicker 集成到您的 Xcode 项目中,请在 项目 > Swift 包 中指定它。

https://github.com/izyumkin/MCEmojiPicker

手动

如果您不想使用上述任何依赖管理器,您可以手动将 MCEmojiPicker 集成到项目中。将 Source/MCEmojiPicker 文件夹放在您的 Xcode 项目中。请确保启用 如有需要则复制项目创建分组

快速入门

创建 UIButton 并添加作为动作的选择器。

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

然后在代理方法中接收表情符号。

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

用法

选择的表情分类色调颜色

选择的表情分类颜色。此属性的默认值为 .systemBlue

viewController.selectedEmojiCategoryTintColor = .systemRed

箭头方向

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

viewController.arrowDirection = .up

水平缩进

sourceView 边框的缩进。此属性的默认值为 0

viewController.horizontalInset = 0

选择后是否关闭

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

viewController.isDismissAfterChoosing = true

自定义高度

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

viewController.customHeight = 300

反馈生成器样式

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

viewController.feedBackGeneratorStyle = .soft

SwiftUI

可像系统浮窗使用。所有设置都在方法初始化器中可用。

Button(selectedEmoji) {
    isPresented.toggle()
}.emojiPicker(
    isPresented: $isPresented,
    selectedEmoji: $selectedEmoji
)

或直接与MCEmojiPickerViewController的SwiftUI包装器交互

MCEmojiPickerRepresentableController(
    isPresented: $isPresented,
    selectedEmoji: $selectedEmoji,
    arrowDirection: .up,
    customHeight: 380.0,
    horizontalInset: .zero,
    isDismissAfterChoosing: true,
    selectedEmojiCategoryTintColor: .systemBlue,
    feedBackGeneratorStyle: .light
)

本地化

🌍 此库支持所有现有本地化

待办项

  • 选择表情符号的主要功能
  • 暗黑模式
  • 用于跳转到表情符号分区的分段控制
  • 自动调整适用于iOS版本的emoji相关设置
  • 从弹出菜单中选择肤色
  • 常用
  • 搜索栏和搜索结果