You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

49 lines
1.1 KiB

//
// 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)
}
}
}