Есть ли способ поймать событие copy/paste в UIMenuController? Я хочу установить флаги, когда пользователь нажимает опцию копирования в меню на UIMenuController.catch copy/paste event UIMenuController
Заранее благодарен!
Есть ли способ поймать событие copy/paste в UIMenuController? Я хочу установить флаги, когда пользователь нажимает опцию копирования в меню на UIMenuController.catch copy/paste event UIMenuController
Заранее благодарен!
Чтобы поймать событие copy/paste, вы должны подклассифицировать каждый компонент пользовательского интерфейса, где вы хотите его поймать.
Простой пример с UILabel показан в сообщении Make UILabel Copyable in Swift. Если вы используете свой окончательный код, не забудьте назначить SRCopyableLabel в качестве базового класса для UILabel в раскадровке. Кроме того, изменить нужный метод инициализации в классе SRCopyableLabel так:
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
sharedInit()
}
Затем, всякий раз, когда пользователь нажимает на «Copy», например, соответствующий метод «копия» из SRCopyableLabel называется, и вы можете делать все, что вы хотите там:
override func copy(sender: AnyObject?) {
let board = UIPasteboard.generalPasteboard()
board.string = text
let menu = UIMenuController.sharedMenuController()
menu.setMenuVisible(false, animated: true)
}