在iOS中控件本身带有文本复制效果的只有UITextField、UITextView、UIWebView.但是特殊情况下我们在使用UILabal展示文本的时候想要拥有文本复制的功能该怎么办呢?下面给大家介绍一种在Label上添加文本复制的方法。
首先要重写UILabel这个类,在它的init方法里面添加一个长按的手势,如下所示:
UILongPressGestureRecognizer * longPressGr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
longPressGr.minimumPressDuration = 1.0;
[self addGestureRecognizer:longPressGr];
我给它设置的长按时间为1s,所以当你长按1s之后就会调用长按手势的方法。最重要的一步来了,你需要在这个方法里面去进行赋值,如下所示:
UIPasteboard *pboard = [UIPasteboard generalPasteboard];
pboard.string = self.text;
经过以上这两步,我们就可以给UILabel添加一个赋值文本的效果。实现起来比较简单,希望大家玩的开心。