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 条评论
登录 后参与评论

相关文章

来自专栏陈满iOS

iOS网络请求之上传图片:从示例到源码解析 -- 以上传Face++SDK回调的图片为例(HYNetworking,AFNetworking,XMNetworking)

本文一开始上传图片以调用HYNetworking的API为例,这个网络框架是以AFNetworking为基础进行的封装。HYNetworking内部实现上传图片...

1382
来自专栏coding...

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

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

843
来自专栏技术总结

金额跳动动画效果

843
来自专栏编程语言

iOS lable多行取每行字符串

最近项目需要从lable的中去每行添加换行符,在网上找了一些资料,总结了一下怎么处理这个问题。

822
来自专栏DannyHoo的专栏

保存图片到沙盒并从沙盒中取出

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

881
来自专栏岑志军的专栏

iOS判断运营商类型

1607
来自专栏ShaoYL

iOS-SQLite(FMDB)

3688
来自专栏Python疯子

iOS 单选按钮组--只能而且必选一个按钮

2、初始化并默认一个选项,这里用了4个button,实际可以采用2个,因为写一半才发现后面的汉字也要设置成可点的,就懒得改了,直接改成button了

1602
来自专栏岑志军的专栏

简单的计步器实现

1283
来自专栏游戏杂谈

Javascript与Objective-C 字符串与数组的方法类比

摘自:Learning the iOS 4 SDK for JavaScript Programmers  

902

扫码关注云+社区