1

在 iOS6 中使用 tableviews 时,我遇到了一些奇怪的行为。我看到他们已经添加了tableview:didHighlightRowAtIndexPath:但它似乎导致了一些用户体验问题,这表明无法选择一行(用户可能需要触摸该行几次)。

当用户只是磨损一个表格视图或轻轻滑动时,行不再被选中(通过tableview:didSelectRowAtIndexPath:tableview:didHighlightRowAtIndexPath:被调用)。

有没有人遇到过类似的问题并找到任何解决方法?我正在尝试使用标志,然后tableview:didSelectRowAtIndexPathtableview:didHighlightRowAtIndexPath. 或者简单地tableview:didHighlightRowAtIndexPath用于 iOS6 和tableview:didSelectRowAtIndexPath较低版本作为行选择回调。

有什么想法吗?

4

1 回答 1

0

我最终引入了新的方法和标志。这似乎是一个干净的解决方案,适用于 iOS6 和较低版本。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    if (!_isFromHighlight)
    {
        [self selectRowAtIndexPath:indexPath];
    }
    _isFromHighlight=NO;
}

-(void)tableView:(UITableView *)tableView didHighlightRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self selectRowAtIndexPath:indexPath];
    _isFromHighlight=YES;
}
于 2012-10-09T11:21:31.157 回答