2016-03-08 105 views

回答

0

为了捕获复制/粘贴事件,您必须对您想要捕获它的每个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) 
}