本文介绍了UITableView 中的 GLTapLabel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 GLTapLabel 在我的 UITableView 中显示我的文本.它会有一些链接,我可以点击 GLTapLabels,但是当我点击这些链接时,tableView:didSelectRowAtIndexPath: 会触发.那么如何检测这些链接中的点击操作?

I'm using GLTapLabel to display my text in my UITableView. It will have some links I can click on as GLTapLabels, but when I click those links the tableView:didSelectRowAtIndexPath: fires. So how can I detect the click action in those links?

推荐答案

实施 tableView:willSelectRowAtIndexPath: 并为任何返回 nil您不想被选中的行.

Implement tableView:willSelectRowAtIndexPath: and return nil for any row you don't want to be selected.

返回值确认或更改所选行的索引路径对象.如果您希望选择另一个单元格,则返回一个 NSIndexPath 对象而不是 indexPath.如果您不想选择该行,请返回 nil.

例如,仅防止在第一部分中选择:

For example, to only prevent selection in the first section:

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.section == 0) {
         return nil;
    }

    return indexPath;
}

您还可以尝试在 GLTapLabel 上设置 exclusiveTouch 或覆盖其 hitTest:withEvent:,如 .


You can also try setting exclusiveTouch on the GLTapLabel or overriding its hitTest:withEvent: as described in the answer to Why is UIView exclusiveTouch property not blocking?.

这篇关于UITableView 中的 GLTapLabel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 13:07