单击时将标签文本复制到剪贴板

时间:2019-06-19 09:51:25

标签: swift xcode

首先,我必须使UILabel可单击,当单击它时,应将其文本复制到剪贴板。我正在将Xcode 10与Swift 5.1配合使用。

因此,首先我希望标签是可单击的,然后,此单击操作会将其文本复制到剪贴板。这是一个基本级别的程序。

4 个答案:

答案 0 :(得分:1)

使标签“可点击”:

IllegalArgumentException

然后,从标签中检索文本并将其复制到剪贴板:

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(labelDidGetTapped:))

yourLabel.userInteractionEnabled = true
yourLabel.addGestureRecognizer(tapGesture)

请注意,点击文本时不会有任何效果,最好通过例如对标签的Alpha进行动画处理来向用户呈现某种反馈

答案 1 :(得分:0)

尝试启用用户交互。例如:

yourLabel.isUserInteractionEnabled = true

检查此先前的线程。这个问题已经回答。 How to make a UILabel clickable?

答案 2 :(得分:0)

用于将文本复制到clipBoard。

 UIPasteboard.general.string = yourLabel.text

答案 3 :(得分:0)

答案的第一部分可以是-

    @IBOutlet weak var clickAble: UILabel!

    override func viewDidLoad() {
    super.viewDidLoad()

    // this code is for making label clickable.
    clickAble.isUserInteractionEnabled = true
    let tap = UITapGestureRecognizer.init(target: self, action: #selector(tapFunction))
    tap.numberOfTapsRequired = 1
    clickAble.addGestureRecognizer(tap)

}

答案的第二部分为-

@objc func tapFunction(sender:UITapGestureRecognizer)
{
    // this is for copying label text to clipboard.
    let labeltext = clickAble.text
    UIPasteboard.general.string = labeltext

}

}