Swift UIPasteboard 复制label上的文字

这篇博客介绍了如何在Swift开发中利用UIPasteboard实现UILabel文字的复制功能,通过创建UITextField来辅助完成复制操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



class UILabelCopy: UILabel {

     override init(frame:CGRect) {
        super.init(frame: frame);
        self.attachTapHandler();
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    override func awakeFromNib() {
        self.awakeFromNib();
        self.attachTapHandler();
    }
    
    func attachTapHandler(){
        self.userInteractionEnabled = true;
        let touch : UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap));
        touch.numberOfTapsRequired = 2;
        self.addGestureRecognizer(touch);
        
    }
    func handleTap(recognizer:UITapGestureRecognizer){
     
        self.becomeFirstResponder();
        let menuC : UIMenuController = UIMenuController();
        menuC.setTargetRect(self.frame, inView: self.superview!);
        menuC.setMenuVisible(true, animated: true);
        
    }
    override func canBecomeFirstResponder() -> Bool {
        return true;
    }
    override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
        
        if action == #selector(NSObject.copy(_:)) {
            return true;
        }
        return false;
        
    }
    override func copy(sender : AnyObject?){
        let pboard : UIPasteboard = UIPasteboard.generalPasteboard();
        pboard.string = self.text;
    }
    
   }

在viewController中设置UILabel,可以新建一个UITextFidel ,文字复制里边即可

let labelCopy : UILabelCopy = UILabelCopy(frame: CGRect(x: 400, y: 100, width: 100, height: 100));
        labelCopy.backgroundColor = UIColor .yellowColor();
        labelCopy.text = "otsfaaaaaaaaaa";
        self.view.addSubview(labelCopy);





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值