#pragma mark ----------- 实现长按复制 -----------------------
- (BOOL)canBecomeFirstResponder{
return YES;
}
- (void)setIndexPath:(NSIndexPath *)indexPath
{
_indexPath = indexPath;
if (indexPath.section != 0)
{
UILongPressGestureRecognizer * longPressGesture = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(cellLongPress:)];
[self addGestureRecognizer:longPressGesture];
}
}
- (void)cellLongPress:(UIGestureRecognizer *)recognizer
{
[self becomeFirstResponder];
UIMenuItem *itCopy = [[UIMenuItem alloc] initWithTitle:@"复制" action:@selector(handleCopyCell:)];
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setMenuItems:[NSArray arrayWithObjects:itCopy, nil]];
[menu setTargetRect:self.contentView.frame inView:self.contentView.superview];
[menu setMenuVisible:YES animated:YES];
}
- (void)handleCopyCell:(id)sender
{
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = self.viewModel.model.number;
}
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if(action == @selector(handleCopyCell:))
{
return YES;
}
else
{
return [super canPerformAction:action withSender:sender];
}
}
网友评论