SZMentionsSwift 2.1.3

SZMentionsSwift 2.1.3

测试测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2020年2月
SPM支持SPM

Steven Zweier维护。



  • Steven Zweier

Carthage compatible codecov Donate Build Status CocoaPods Compatible Platform Twitter

SZMentionsSwift是一个轻量级的iOS提及库。这个库是为了辅助在textview中添加、删除和编辑提及而构建的。

它能做什么

添加提及

您可以通过输入触发词(默认为@)后跟文本来轻松添加提及,以过滤列表。点击姓名会将提及插入到textView中。

插入提及

任何插入在其它提及之前的文本(包括提及),都会自动调整所有现有提及的range。

删除提及

如果在现有提及中任何一点更改文本,该提及将从提及数组中删除,并且与该提及相关的任何剩余文本将恢复为默认样式。

有关更多使用技术细节,您可以在这里查看。

如何开始使用

通讯

  • 如果你需要帮助,请随意 tweet @StevenZweier
  • 如果您找到错误、有功能请求或一般问题,可以提出问题。
  • 如果您想做出贡献,提交 pull 请求。

使用 Carthage 安装

Carthage

Cartfile

要使用 CocoaPods 将 SZMentionsSwift 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "szweier/SZMentionsSwift"

然后,运行以下命令

$ carthage update

更多信息在这里

使用 CocoaPods 安装

CocoaPods

Podfile

要将 SZMentionsSwift 集成到 Xcode 项目中,并使用 CocoaPods,请在您的 Podfile 中指定它。

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

pod 'SZMentionsSwift'

然后,运行以下命令

$ pod install

用法

以下是本库中使用对象的快速浏览,但始终最佳的做法是通过示例代码来理解 SZMentionsSwift 库当前实现的用法。

MentionsSwiftListener

此类管理提及其他操作。

设置

使用许多初始化器之一来设置 mentions 听众。以下解释参数:

mentionsTextView : 必需的 应用 mentions 听众的文本视图。注意:其代表 必须 是 mentions 管理员的。

delegate : 可选的 如果您希望接收 UITextView 代理方法,请设置此属性,并在处理 mentions 听众之后传递。

mentionTextAttributes : 应用到所有提及的文本的属性(见:AttributeContainer

defaultTextAttributes : 应用到不由提及组成的所有文本的属性(见:AttributeContainer

spaceAfterMention : 可选的 是否想在您的提及后添加空格。默认是 NO

trigger : 用于启动提及的字符串。默认是 @

cooldownInterval : 可选的 在调用 showMentionsList 之间等待的时间。默认是 0.5

searchSpaces : 可选的 提及搜索是否可以包含空格

hideMentions : 必需的 当要隐藏 mentions 视图时运行的代码块

didHandleMentionOnReturn: 必需的 当在编辑提及时按 enter 时运行的代码块。使用此代码块可执行以下操作:- 1. 添加提及并返回 true 以表示提及在您的端被处理(这将通知听众隐藏视图)- 2. 返回 false 以表示提及 NOT 被处理(这将允许听众输入换行符)

showMentionsListWithString: 必需的 当要显示 mentions 列表时运行的代码块

属性

mentions : 只读 当前应用在文本视图上的所有提及的数组。

方法

public func reset() : 调用此方法可将textview的文本重置为空字符串,并删除任何存在的提及。

@discardableResult public func addMention(_ mention: CreateMention) -> Bool : 添加提及时调用此方法将提及应用于当前文本。

public func insertExistingMentions(_ existingMentions: [CreateMention]): 在现有的文本视图中插入提及。这假设你得到了一个文本和该文本中提及的用户列表,并希望在预先准备textview。

CreateMention (协议)

此协议包含了需要发送到提及监听器的提及所需属性。

AttributeContainer (协议)

此协议包含了应用于格式化文本的属性所需属性。

提及

此结构体是通过mentions方法返回的,它包括提及的范围以及包含通过addMention(_ mention: CreateMention)方法发送到提及监听器的对象的对象

单元测试

SZMentionsSwift 包括单元测试,可以在 SZMentionsSwift 框架上运行。

致谢

首次创建 SZMentionsSwift 的是 Steven Zweier