美文网首页
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