HTCopyableLabel 0.0.7

HTCopyableLabel 0.0.7

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released 上次发布2014年12月

未指名维护。




  • 作者:
  • Jonathan Sibley

HotelTonight

概述

HTCopyableLabel是UILabel的子类,使用户能够轻松地复制标签的文本。

HotelTonight

请参阅HotelTonight技术博客上的相关的博客文章。有关如何在UILabel上实现复制的优秀解释,务必阅读UIMenuControllerNSHipster上的介绍。

使用方法

安装

快速入门指南

创建一个与创建UILabel实例相同或 subclass HTCopyableLabelHTCopyableLabel实例。您可以在Interface Builder中这样做。以编程方式,这看起来像这样

HTCopyableLabel *copyableLabel = [[HTCopyableLabel alloc] init];
[self.view addSubview:copyableLabel];

现在,长按标签会弹出一个带有"复制"选项的UIMenuController。按下"复制"会复制标签的text。确保标签的父视图的userInteractionEnabled设置为YES

高级使用

实现HTCopyableLabelDelegate协议可以让您更精细地控制UIMenuController的位置,以及要复制的实际字符串。

UIMenuController外观和位置

UIMenuController根据自己的frame定位自身,这个frame是由HTCopyableLabel传给它的。默认情况下,HTCopyableLabel将传递其自己的bounds。如果您想显式指定frame,请按照以下方式在您的HTCopyableLabelDelegate中实现:

- (CGRect)copyMenuTargetRectInCopyableLabelCoordinates:(HTCopyableLabel *)copyableLabel

此外,UIMenuController会根据您传递给它的frame的位置,智能地将其自身定位在上方、下方或旁边。如果希望覆盖此行为,应显式设置[HTCopyableLabel copyMenuArrowDirection]

指定要复制的文本

如果您希望指定要复制到剪贴板的字符串,请在您的HTCopyableLabelDelegate中实现以下方法:

- (NSString *)stringToCopyForCopyableLabel:(HTCopyableLabel *)copyableLabel

等等。

  • 尽可能在您的应用中使用此功能,尤其是电子邮件地址 —— 用户会非常感激的!
  • 欢迎贡献。
  • 感谢认可(让我们一起传播消息),但非强制要求。

使用了它吗?爱/讨厌它吗?

通过@jonsibs评论作者,并查看HotelTonight的技术博客:http://engineering.hoteltonight.com

此外,查看HotelTonight的其他iOS开源项目