ios - 长按时UILabel和UITextField(UITextView、UIWebView)一样可以实现 "select"和 "copy"吗?如何实现?

标签 ios objective-c iphone

请帮帮我~我想知道如何让UILabel像UITextField(UITextView、UIWebView)一样在长按时有一个系统剪贴板(例如复制和选择),这样我就可以复制我想要的文本。我在 Github 上看过一些演示,但是它们总是只包含复制功能,这让我无法选择要复制的文本。目前我想在 UILabel 上实现“选择”,但我不知道如何解决。 我可以在没有编辑功能的情况下使用 UITextField 吗?但是一旦我关闭编辑功能,长按就没有系统剪贴板了。 或者是否有更简单的方法来解决?谢谢!

最佳答案

您必须自己实现。任何系统 TextView 都没有什么特别之处,只需阅读 UIPasteboard 的文档,特别是关于 -[UIPasteboard setString:] 的文档。剩下的就是你想如何实现 UI。为此,我建议研究子类化 UILabel 以保持一切整洁; UIMenuController 用于显示标注 View ;实现 -canBecomeFirstResponder-canPerformAction:forSender:-copy: 来自定义标注操作;和 UILongPressGestureRecognizer 用于触发一切。

关于ios - 长按时UILabel和UITextField(UITextView、UIWebView)一样可以实现 "select"和 "copy"吗?如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28554310/

相关文章:

iphone - 无法将 UIBarbutton 设置回默认色调

iphone - 我似乎在使用 ASI HTTP 请求的 XCode 中遇到大量错误?

iphone - 我怎样才能打印出像0.0045这样的结果

ios - 弹出 View 2时如何恢复计时器

ios - 我需要将图像保存在@1x、@2x、@3x 吗?

iphone - 无法将 NSMutableDictionary 发送到另一个类

ios - NSInvalidArgument 异常 - 随机对象接收 didEnterBackground

iOS >> 广告转化链接 : Is there a way to "catch" from which site/banner/ad users got to my app in the App Store?

ios - 从不兼容类型分配给可为空的 ID

ios - Magical Record IOS objective C. 我们应该创建什么样的上下文?