cell 上的剪贴板

长按cell 显示剪贴板选项,在cell上添加手势,把处理方法放在delegateVC 里面,如果VC本身有textView,不释放键盘



#pragma mark - 剪贴板

//剪贴板

- (void)showCopyMenu:(id)cell {

    if (self.menuVisible) {

        return;

    }

    BOOL haskeyboard = NO;

    if ([self.iTextView isFirstResponder]) {

        haskeyboard = YES;

        self.donotHideKeyBoard = YES;

    }

    self.iCopyCell = cell;

    [self becomeFirstResponder];

    UIMenuController * menu = [UIMenuController sharedMenuController];

    [menu update];

    CGRect frame = [cell frame];

    frame.origin.y +=25;

    [menu setTargetRect: frame inView: self.iTableView];

    [menu setMenuVisible: YES animated: YES];

    

    if (haskeyboard) {

        [self.iTextView becomeFirstResponder];

    }

}

-(void)setMenuHidden:(NSNotification*)aNoti{

    self.menuVisible = NO;

}

-(void)setMenuShow:(NSNotification*)aNoti{

    self.menuVisible = YES;

}

-(BOOL)canBecomeFirstResponder{

    return YES;

}

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender{

    

    if (action == @selector(copy:)) {

        return YES;

    }

    else

    {

        return [super canPerformAction:action withSender:sender];

    }

}

-(void)copy:(id)sender{

    

    if ([sender isKindOfClass:[UIMenuController class]]) {

        

        if (self.iCopyCell) {

            

            UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];

            [pasteboard setString:self.iCopyCell.iMessageLabel.text];

            

        }

    }

}



#pragma mark KeyBoardNotification




- (void)keyboardWillHide:(NSNotification *)notification

{

    if (self.donotHideKeyBoard) {

        return;

    }

 //加其他代码

    

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值