iOS UITableView长按cell复制内容

释放双眼,带上耳机,听听看~!

实现长按复制内容需要实现tableView的三个代理方法。

这里写图片描述

1、指定在哪里可以显示菜单。

- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath{
return YES;// 设置哪里都能显示。
}

2、指定哪一行显示什么操作

action包括(cut、copy、paste、select、selectAll)

- (BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender{
// 设置只能复制 
if (action == @selector(cut:)){
return NO;
}
else if(action == @selector(copy:)){
return YES;
}
else if(action == @selector(paste:)){
return NO;
}
else if(action == @selector(select:)){
return NO;
}
else if(action == @selector(selectAll:)){
return NO;
}
else{
return [super canPerformAction:action withSender:sender];
}

3、执行操作,设置操作对应的内容

- (void)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender{
NSString *phoneStr = [self.sourceArr[indexPath.row][@"title"] substringFromIndex:4];
if (action == @selector(copy:)) {
//  把获取到的字符串放置到剪贴板上
[UIPasteboard generalPasteboard].string = phoneStr;
}
}

人已赞赏
iOS文章

iOS友盟推送发送失败

2020-2-25 4:23:07

iOS文章

Xcode 报错Could not find developer disk image,iOS10

2020-2-25 6:23:54

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索