目标:实现将一个Cell的text内容Copy到另一个Cell
首先定义一个pasteBoard
UIPasteboard *pasteBoard;
初始化
pasteBoard = [UIPasteboard generalPasteboard];
[pasteBoard setString:@""];
允许在每个Cell长按时显示menu
- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
设置显示的menu内容
- (BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender
{
if (action == @selector(copy:)) {
return YES;
}
if ([pasteBoard string] != nil && action == @selector(paste:)) {
return YES;
}
return NO;
}
设置响应事件
- (void)tableView:(UITableView*)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender
{
if (action == @selector(copy:)) {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[pasteBoard setString:cell.textLabel.text];
}
if (action == @selector(paste:)) {
[tableView cellForRowAtIndexPath:indexPath].textLabel.text = [pasteBoard string];
}
}
效果如下