UITableViewCell中添加复制逻辑

@interface ICUserInfoCell(){
    UIMenuItem * _copyMenuItem;
}
@end

@implementation ICUserInfoCell
- (id)initWithStyle:(UITableViewCellStyle)cell reuseIdentifier:(NSString *)reuseIdentifier {
    self = [super initWithStyle:cell reuseIdentifier:reuseIdentifier];
    if (self) {
        [self layoutSubview];
        
        UILongPressGestureRecognizer * longPressGesture = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPress:)];
        [self addGestureRecognizer:longPressGesture];

    }
    return self;
}

- (void)copyComment:(UIMenuController *)menu {
    UIPasteboard *pasteboard  = [UIPasteboard generalPasteboard];
    pasteboard.string = self.detailLabel.text;
}

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
    if (action == @selector(copyComment:)) {
        return YES;
    }
    return  [super canPerformAction:action withSender:sender];
}

- (BOOL)canBecomeFirstResponder {
    return YES;
}
- (void)longPress:(UILongPressGestureRecognizer *)longRecognizer
{
    if (longRecognizer.state == UIGestureRecognizerStateBegan) {
        [self becomeFirstResponder];
        [[UIMenuController sharedMenuController] update];
        if (!_copyMenuItem) {
            _copyMenuItem   = [[UIMenuItem alloc] initWithTitle:@"复制" action:@selector(copyComment:)];
        }
        [[UIMenuController sharedMenuController] setMenuItems:@[_copyMenuItem]];
        [[UIMenuController sharedMenuController] setTargetRect:self.frame inView:self.superview];
        [[UIMenuController sharedMenuController] setMenuVisible:YES animated:YES];
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏逸鹏说道

【延迟注入】A5站长网某站存在SQL注入漏洞

A5站长网某站存在SQL注入漏洞(附验证脚本) 详细说明: code 区域 POST /Login/login HTTP/1.1 Host: lianmeng....

2614
来自专栏ios 技术积累

聊聊怎么阅读SDWebImage源码

关于SDWebImage的介绍就不多说了,网上很多。我们主要聊聊怎么阅读SDWebImage的源码。 阅读源码前首先我们要思考几个问题: 1.SDWebIm...

481
来自专栏听雨堂

程序实现下载文件或者打开文件

FileInfo DownloadFile = new FileInfo("c:\\a.doc"); // 下面到就是读取文件,通过数据流的方式下载了。 ...

1845
来自专栏极客猴

深入理解HTTP

TCP协议是位于TCP/IP参考模型中的网络互连层,而HTTP协议属于应用层。因此,HTTP协议是基于TCP协议。

804
来自专栏Ryan Miao

从国家统计局爬下来的地区信息

发现地区编码网上流传了很多版本。有很多崇文区,玄武区之类的。于是想了想,还是自己做一份。不敢保证没问题,但还没遇到问题。 首先,从网上找到一个大神写的jsoup...

3016
来自专栏Python自动化测试

python接口测试之http请求

python的强大之处在于提供了很多的标准库,这些标准库可以直接调用,本节部分,重点学习和总结在接口测试中Python的Http请求的库的学习。

683
来自专栏张善友的专栏

各种浏览器的userAgent

各浏览器的userAgent很乱,具体可参看cnbeta上文章译稿:UserAgent的历史变迁。 IE   而IE各个版本典型的userAgent如下: ...

1909
来自专栏coding...

Objective-C NSFileManager的使用 各种文件操作所有方法具体实现

初始化一下NSFileManager 并获取根路径 主要是加了一些判断,代码不是很精简 不要笑我。

783
来自专栏Python

浏览器User-Agent大全

HttpHeader之User-Agent UserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA。它是...

852
来自专栏Python自动化测试

Jmeter4.0接口测试之HTTP的请求(五)

下面来看使用Jmeter怎么来做HTTP的接口请求,在请求中使用浏览器的network获取请求的信息,见获取到的请求信息:

673

扫码关注云+社区