gpt4 book ai didi

ios - UITableView 中自定义单元格的 UITapGestureRecognizer

转载 作者:行者123 更新时间:2023-12-01 18:13:38 24 4
gpt4 key购买 nike

在我的 iPhone 应用程序中,我使用的是 UITableView通过子类 UITableViewCell 使用自定义表格单元格.假设我的自定义单元格类名称为 ItemTableViewCell。相关的 ItemTableViewCell.xib 有一个 subview UIView名称为信息查看 .

我希望 infoView 识别它得到的单击/触摸。如果只是点击,我可以通过添加 UITapGestureRecognizer 来完成使用 Storyboard并为此制定行动方法。但是我需要的是在识别 infoView 的点击/触摸时,我需要将相关的表格行信息传递给目标方法/选择器。

如果我进一步解释情况,UITableViewNSArray 组成的 UITableViewCell .该自定义单元格的底部栏带有一个名为 infoView 的 subview 。通过点击/触摸该 infoView,它应该调用一个以相关 NSArray 元素作为参数的方法。通过点击/触摸单元格的其余部分,它应该调用 didSelectRowAtIndexPath方法正常。

最佳答案

我找到了解决方案。在创建自定义单元格时,我将 UITapGestureRecognizer 添加到相关的 UIVIew(在我的情况下是 infoView),如下所示。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tappedOnInfoView:)];
[tap setNumberOfTouchesRequired:1];
[tap setNumberOfTapsRequired:1];
[cell.infoView addGestureRecognizer:tap];
[cell.infoView setUserInteractionEnabled:YES];
[cell.infoView setTag:realIndex];

从最后一行可以看出,我将单元格索引而不是单元格数据传递给选择器,该选择器将在识别轻击手势后触发。

同时我正在维护一个 NSMutableArray 来存储单元格的数据。正如您所理解的,每个单元格索引都会同时存在 NSArray 元素。

这就是我的选择器出现的方式;
- (void)tappedOnInfoView:(UIGestureRecognizer *)sender {

通过使用下面的代码,您可以获得与发生的点击客人相关的索引
sender.view.tag

使用以下代码片段,我可以获得存储在 NSMutableArray 中的单元格的详细信息
[myMutArray objectAtIndex:sender.view.tag];

任务完成 :)

关于ios - UITableView 中自定义单元格的 UITapGestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25287769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com