您的位置:首页 > 移动开发 > Swift

Swift UIPasteboard 复制label上的文字

2016-07-20 13:13 489 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: