// // CopyableLabel.swift // GME Remit // // Created by InKwon Devik Kim on 05/07/2019. // Copyright © 2019 Gobal Money Express Co. Ltd. All rights reserved. // import UIKit class CopyableLabel: UILabel { override init(frame: CGRect) { super.init(frame: frame) internalInit() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) internalInit() } private func internalInit() { isUserInteractionEnabled = true addGestureRecognizer(UILongPressGestureRecognizer(target: self, action: #selector(setMenu(_:)))) } override var canBecomeFirstResponder: Bool { return true } override func copy(_ sender: Any?) { let board = UIPasteboard.general board.string = text } override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool { return action == #selector(copy(_:)) } @objc private func setMenu(_ sender: AnyObject) { becomeFirstResponder() let menu = UIMenuController.shared if !menu.isMenuVisible { menu.setTargetRect(bounds, in: self) menu.setMenuVisible(true, animated: true) } } }