要想长按tableViewCell就能弹出复制、黏贴菜单,只需要实现tableView的三个代理方法
// 允许长按菜单
- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
// 允许每一个Action
- (BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath*)indexPath withSender:(id)sender
{
// 可以支持所有Action,也可以只支持其中一种或者两种Action
if (action == @selector(copy:) || action == @selector(paste:)) { // 支持复制和黏贴
return YES;
}
return NO;
}
// 对一个给定的行告诉代表执行复制或黏贴操作内容
- (void)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath*)indexPath withSender:(id)sender
{
if (action == @selector(copy:)) {
NSLog(@"复制");
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UIPasteboard *pasteBoard = [UIPasteboard generalPasteboard]; // 黏贴板
[pasteBoard setString:cell.textLabel.text];
} else if (action == @selector(paste:)) {
NSLog(@"黏贴");
UIPasteboard *pasteBoard = [UIPasteboard generalPasteboard];
NSLog(@"%@",pasteBoard.string);
} else if (action == @selector(cut:)) {
NSLog(@"剪切");
}
}
-
顶
- 0