UX问题与桌面视图:didHighlightRowAtIndexPath iOS6

问题描述:

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

当用户刚磨损桌面或点击轻扫时,行不再被选中(通过tableview:didSelectRowAtIndexPath:,但调用tableview:didHighlightRowAtIndexPath:)。

有没有人遇到类似的问题,并发现任何解决方法?我正尝试使用一个标志,然后从tableview:didHighlightRowAtIndexPath拨打tableview:didSelectRowAtIndexPath。或者,对于较低版本的iOS6和tableview:didSelectRowAtIndexPath,只需使用tableview:didHighlightRowAtIndexPath作为行选择回调。

有什么想法?

我结束了介绍新的方法和标志。它看起来很像一个干净的解决方案,适用于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; 
}