[iOS] - UILabel 텍스트 터치해서 복사하기
UILabel의 text를 터치해서 복사하는 법을 알아보자.
UILabel을 터치했을 때 텍스트가 클립보드에 복사되는 것을 구현했다. 나는 UILabel의 extension으로 구현했다.
extension UILabel {
func enableCopyOnTouch() {
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(labelTapped(sender:))) // 터치 시 실행될 함수를 연결한다.
self.isUserInteractionEnabled = true
self.addGestureRecognizer(tapGesture) // tapGestureRecognizer를 라벨에 붙인다.
}
@objc
private func labelTapped(sender: UITapGestureRecognizer) { // 라벨이 터치되었을 때 호출됨
guard let label = sender.view as? UILabel else {
return
}
UIPasteboard.general.string = label.text // 텍스트가 복사됨
}
}
아래와 같이 UILabel을 설정하면 라벨을 터치했을 때 해당 라벨의 텍스트가 클립보드에 복사된다.
let myLabel = UILabel()
myLabel.enableCopyOnTouch()