关于ios开发,类似聊天界面的布局,在tableview中的cell上添加一个长按事件,显示自定义

关于ios开发,类似聊天界面的布局,在tableview中的cell上添加一个长按事件,显示自定义,第1张

自定义方法:

UIMenuItem *share = [[UIMenuItem alloc] initWithTitle:@"分享"action:@selector(shareClick:)]

UIMenuItem *report = [[UIMenuItem alloc] initWithTitle:@"举报"action:@selector(report:)]

UIMenuController *menu = [UIMenuController sharedMenuController]

[menu setMenuItems:[NSArray arrayWithObjects:share, report, nil]]

[menu setTargetRect:cell.c_post_content.frame inView:cell.c_post_content.superview]

[menu setMenuVisible:YES animated:YES]

这里我们为tableview添加长按手势

UILongPressGestureRecognizer *longPressGr = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressAction:)]

longPressGr.minimumPressDuration = 0.5f

longPressGr.numberOfTouchesRequired = 1

[_tableView addGestureRecognizer:longPressGr]

[longPressGr release]

这时我们会发现每次按住tableView并且松开的时候, longPressAction: 这个方法会执行2次

- (void)longPressAction:(UILongPressGestureRecognizer *)longPress

{

if (longPress.state == UIGestureRecognizerStateBegan) {

CGPoint point = [longPress locationInView:_tableView]

NSIndexPath *indexPath = [_tableView indexPathForRowAtPoint:point]// 可以获取我们在哪个cell上长按

if (indexPath != nil) {

NSLog(@"%ld", indexPath.row)

}

}

}

1.创建集合试图,这个就比较简单了.创建完集合试图,我们在集合试图上面添加长按的手势

UIGestureRecognizerDelegate 先遵从协议

longPressGr =

=

=

=

2.我们在longpressToDo里面添加方法-(

)longPressToDo:(UILongPressGestureRecognizer *

(gestureRecognizer.state !=

=

*indexPath =

(indexPath ==

UICollectionViewCell* cell =


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11892117.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存