美文网首页
iOS UIMenuController复制功能

iOS UIMenuController复制功能

作者: 小傑 | 来源:发表于2016-11-23 15:53 被阅读60次
#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];
    }
}

相关文章

网友评论

      本文标题:iOS UIMenuController复制功能

      本文链接:https://www.haomeiwen.com/subject/fxjvpttx.html