【发布时间】:2017-12-12 14:48:46
【问题描述】:
在表格视图的单元格中,我有一个按钮。该按钮基本上打开了单元格引用的文件。这在搜索未开启时工作正常。但是,当搜索打开时,我似乎无法在搜索结果数组中找到正确的行。 这是我到目前为止所尝试的: 在 cellForRowAtIndexPath 中我标记了按钮。
myDownloadsBtn = (UIButton *) [cell viewWithTag:106];
动作设置如下:
[myDownloadsBtn addTarget:self action: @selector(downloadClicked:event:) forControlEvents:UIControlEventTouchUpInside];
然后在 downloadClicked 我有以下内容
NSSet *touches = [event allTouches];
UITouch *touch = [touches anyObject];
NSString *todoRow;
CGPoint currentTouchPosition = [touch locationInView:self->tableview];
NSIndexPath *indexPath = [self->tableview indexPathForRowAtPoint: currentTouchPosition];
但它给了我可见当前位置的 indexPath,而不是搜索结果数组中行的位置。
另外,我的didSelectRowAtIndexPath 委托方法无论有没有搜索都可以正常工作。它仅适用于单元格内的按钮。
我找到了这个问题,但没有答案: how to get selected tableview button value while search in iOS.
其他问题涉及如何知道搜索时选择的实际单元格,但这不是我的问题。
谢谢。
【问题讨论】:
标签: ios objective-c uitableview