效果如图: 首先我们需要给cell添加一个长按手势, [self addGestureRecognizer:[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longTap:)]]; #pragma mark 长按手势 -(void)longTap:(UILongPressGestureRecognizer*)longRecognizer { [self becomeFirstResponder]; UIMenuController*menu=[UIMenuController sharedMenuController]; UIMenuItem*copyItem=[[UIMenuItem alloc]initWithTitle:@"复制" action:@selector(copyItemClick:)]; UIMenuItem*shareItem=[[UIMenuItem alloc]initWithTitle:@"分享" action:@selector(shareItemClick:)]; [menu setMenuItems:@[copyItem,shareItem]]; [menu setTargetRect:self.bounds inView:self]; [menu setMenuVisible:YES animated:YES]; } #pragma mark 处理action事件 -(BOOL)canPerformAction:(SEL)action withSender:(id)sender{ if(action ==@selector(copyItemClick:)){ return YES; }else if (action==@selector(shareItemClick:)){ return YES; } return [super canPerformAction:action withSender:sender]; } #pragma mark 实现成为第一响应者方法 -(BOOL)canBecomeFirstResponder{ return YES; } #pragma mark 复制 -(void)copyItemClick:(UIMenuItem*)menuItem { NSLog(@"复制"); // 通知代理 } #pragma mark 转发 -(void)shareItemClick:(UIMenuItem*)menuItem { NSLog(@"分享"); //通知代理 } |
|
来自: 九辰夕 > 《UITableView列表》