在iOS应用程序中实现用户标记

我确信有很多方法可以在应用程序中实现标记,但是我在这里写此博客是为了以更简单的步骤实现它。 因此,在不浪费更多时间的情况下,让我们更深入地研究这些步骤。

我用图书馆河川 用于在Curofy iOS应用程序中实现用户标记 Hakawai是UITextView的子类,具有其他功能和对插件的支持。 我使用控制流插件在Curofy App中实现用户标记。 只需输入“ @”,实体列表就会打开供选择。

HAKAWAI入门

  • 如果要在同一视图控制器类中实现textView委托功能,请使用HKWTextView实例创建UIViewController并将其externalDelegate属性分配给此视图控制器。
  • 创建一个帮助程序类,以实现HKWMentionsDelegate中提到的必需功能。
  • HKWMentionsPlugin实例的委托属性分配给您的帮助器类的实例。
  • 设置textView实例的controlFlowPlugin以注册该插件。

一些代码片段的实现

让我们从我的应用程序快照开始:

此屏幕代表我的UIViewController,其中包含HKWTextView。

ChooserView是自定义的ChooserView,带有UITableView并带有HKWMentionEntity作为用户对象,其中包含用户的详细信息,例如名称,用户名,专业等。

在此,控制流字符为“ @”。 键入后,选择器视图将打开,以HKWMentionsChooserPositionMode作为HKWMentionsChooserPositionModeCustomNoLockArrowPointingUp进行选择

从选择器视图中选择实体,并在所选字符串上添加带有属性字符串的提及。

您还可以通过实现修剪HKWMentionEntity名称所需的功能,以所需的方式修剪提到的字符串。

以下是一些代码片段,其中包含使用HAKAWAI的说明:

创建HKWMentionsPlugin的实例,并使用实现HKWMentionsDelegate所需功能的助手类“ CustomHKWChooserViewManager”的实例设置其委托。 这里的HKWMentionsPlugin的ChooserView类是’CustomHKWChooserView’,因为我没有使用插件中提供的默认ChooserView。 CustomHKWChooserView包含UITableView,该UITableView包含包含有关相应实体的详细信息的单元格,这些单元格需要显示在列表中以供选择。

这里的“ UserTagMentionCell”是UITableViewCell ,它显示包含在UITableView中的供选择的HKWMentionEntity ,用作自定义的插件ChooserView。 ‘tagPaginator’是Paginator的实例,可用于分页,以便从服务器中获取匹配当前页面索引的键入字符与控制字符’@’的服务器的用户对象列表(紧随HKWMentionsEntityProtocol )。

每当文本发生变化时,在HKWTextView中输入的字符串中,在创建的提及中添加属性字符串。

您还可以在提及实体的名称上以正则表达式的形式进一步添加超链接,以使其在应用程序中的任何显示位置均可单击。 喜欢,我添加为

  -(NSString *)createHyperLinkWithEntityName:(NSString *)entityName和EntityId:(NSString *)entityId { 
返回[NSString stringWithFormat:@” <>”,entityName,entityId];
}

您还可以在视图中添加操作按钮,以实现在HKWTextView的文本中插入控制字符的功能,以进一步实现用户标记,如之前针对应用程序所述。

最后,我想说HAKAWAI是一种功能强大的API,可以启用许多其他功能,例如,

  • 使用自定义文本视图容器
  • 使用textView自动更正,或根据用途启用或禁用它们。
  • 支持带有内置属性字符串的自定义属性文本,以供提及插件实体显示。
  • 轻松处理文本视图的纯文本和属性文本的添加,删除或文本转换。
  • 实现一个自定义布局管理器,默认情况下,文本容器修复了多个UITextView错误。

还有更多…

感谢Austin Zheng创建了如此方便的库并使我为您编写了这个博客。

Interesting Posts