捕捉复制/粘贴事件 UIMenuController

Posted

技术标签:

【中文标题】捕捉复制/粘贴事件 UIMenuController【英文标题】:catch the copy/ paste event UIMenuController 【发布时间】:2016-03-08 02:50:37 【问题描述】:

有什么方法可以捕捉 UIMenuController 中的复制/粘贴事件吗?当用户点击 UIMenuController 菜单中的复制选项时,我想设置标志。

提前致谢!

【问题讨论】:

【参考方案1】:

为了捕捉复制/粘贴事件,您必须对每个您想要捕捉它的 UI 组件进行子类化。

使用 UILabel 的简单示例显示在 Make UILabel Copyable in Swift 帖子中。如果您使用他们的最终代码,请不要忘记将 SRCopyableLabel 指定为情节提要中 UILabel 的基类。另外,像这样修改 SRCopyableLabel 类中所需的 init 方法:

required init?(coder aDecoder: NSCoder) 
    super.init(coder: aDecoder)
    sharedInit()

然后,例如,每当用户点击“复制”时,都会调用 SRCopyableLabel 中相应的“复制”方法,您可以在其中做任何您想做的事情:

override func copy(sender: AnyObject?) 
    let board = UIPasteboard.generalPasteboard()
    board.string = text
    let menu = UIMenuController.sharedMenuController()
    menu.setMenuVisible(false, animated: true)

【讨论】:

以上是关于捕捉复制/粘贴事件 UIMenuController的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法用 PyQt5 捕捉按钮上的悬停事件信号? [复制]

jquery或js复制/ 粘贴事件

iOS 上 javascript 的复制/粘贴事件

js复制粘贴事件

访问自动修改复制粘贴的 VBA 事件代码

JS 文档拷贝(复制)和粘贴事件