如何确定用户何时复制了文本

Posted

技术标签:

【中文标题】如何确定用户何时复制了文本【英文标题】:How to determine when a user has copied text 【发布时间】:2012-12-25 06:08:53 【问题描述】:

我很难弄清楚用户何时以默认的 ios 方式选择和复制文本:

canPerformSelector 在显示此菜单之前工作,但我有兴趣在用户按下复制按钮后知道。

谢谢

【问题讨论】:

检查 UIMenuController 的链接它可能对你有帮助:-developer.apple.com/library/ios/#documentation/iPhone/Reference/… 【参考方案1】:

使用NSNotification 作为UIPasteboardChangedNotification: 的观察者,然后每次用户复制它都会调用您在Notification 观察者中指定的方法

类似的东西

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ClipBoardChanged) name:UIPasteboardChangedNotification object:nil];

-(void)ClipBoardChanged
   NSLog(@"ClipBoard data changed %@",[UIPasteboard generalPasteboard].string);
 

【讨论】:

是的,我可以通过这个解决方案以某种方式实现我想要的,所以 +1。但是仍然通过我可以知道复制的文本完全来自同一视图中的哪个 UITextView 来寻找答案。不过还是谢谢。

以上是关于如何确定用户何时复制了文本的主要内容,如果未能解决你的问题,请参考以下文章

如何确定 DST 何时在 Python 中的特定位置开始或结束? [复制]

iOS 9:如何检测用户何时对推送通知请求说“不允许”? [复制]

如何检测何时单击/点击 MapMarker? [复制]

iOS:如何判断应用程序何时暂停? [复制]

如何确定文件是c#中的二进制文件还是文本文件? [复制]

如何将 UILabel 文本颜色与其背景匹配? [复制]