2012-10-03 3 views
1

iOS6에서 tableviews를 사용할 때 이상한 동작이 발생합니다. 나는 그들이 tableview:didHighlightRowAtIndexPath:을 추가 한 것을 본다 그러나 행 (사용자는 행을 몇 번 만질 것을 요구 될지도 모른다)를 선정 할 무능력에서 계시하는 몇몇 사용자 경험 문제를 일으키는 원인이되고있다 보인다.UX 문제 (tableview 포함) : iOS6의 didHighlightRowAtIndexPath

사용자가 테이블 뷰를 자르거나 작은 스 와이프로 탭하면 더 이상 행이 선택되지 않습니다 (tableview:didSelectRowAtIndexPath:이나 tableview:didHighlightRowAtIndexPath:).

비슷한 문제가 발생하여 다른 해결 방법이있는 사람이 있습니까? 플래그를 사용하려고 시도하고 tableview:didSelectRowAtIndexPathtableview:didHighlightRowAtIndexPath에서 호출하려고합니다. iOS6의 경우 tableview:didHighlightRowAtIndexPath, 낮은 버전의 경우 tableview:didSelectRowAtIndexPath을 행 선택 콜백으로 사용하십시오.

의견이 있으십니까?

답변

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; 
}