请帮帮我~我想知道如何让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/