UITableView의 셀 속성을 선택 불가능으로 설정하려면 어떻게해야합니까? 사용자가 셀을 탭할 때 파란색 선택 상자를보고 싶지 않습니다.
답변
표 셀의 selectionStyle
속성을로 설정합니다 UITableViewCellSelectionStyleNone
. 이렇게하면 강조 표시되지 않으며에서 해당 속성을 확인할 수도 있습니다 tableView:didSelectRowAtIndexPath:
.
답변
행 선택을 방지하려면
완전히의 선택을 방지하기 위해 UITableViewCell
, 당신은이 UITableViewDelegate
구현 tableView:willSelectRowAtIndexPath:
. 해당 방법 nil
에서 행을 선택하지 않으려면 반환 할 수 있습니다 .
- (NSIndexPath *)tableView:(UITableView *)tv willSelectRowAtIndexPath:(NSIndexPath *)path
{
// Determine if row is selectable based on the NSIndexPath.
if (rowIsSelectable) {
return path;
}
return nil;
}
이렇게하면 행이 선택되거나 tableView:didSelectRowAtIndexPath:
호출되지 않습니다. 그러나 이것이 행이 강조 표시되는 것을 방지 하지는 않습니다 .
행 강조 표시를 방지하려면
터치시 행이 시각적으로 강조 표시되지 않도록하려면 셀이 selectionStyle
로 설정되어 있는지 확인 UITableViewCellSelectionStyleNone
하거나 다음과 같이 UITableViewDelegate
구현할 수 있습니다 tableView:shouldHighlightRowAtIndexPath:
.
- (BOOL)tableView:(UITableView *)tv shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath
{
// Determine if row is selectable based on the NSIndexPath.
return rowIsSelectable;
}
답변
이것을 사용하십시오 :
cell.selectionStyle = UITableViewCellSelectionStyleNone;
답변
iOS 6 이상 전용.
tableView:shouldHighlightRowAtIndexPath:
대리자 에서 메서드 를 구현할 수 있습니다
. 자세한 내용은 http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html
답변
이 문제도 이미 언급 한 모든 것을 시도했습니다. 표 셀을 선택할 때 “파란색 깜박임”을 없앤 마지막 트릭은 다음 줄을 추가하는 것입니다.
self.myTableView.allowsSelection = NO;
이 한 줄인지 모든 것이 합쳐 졌는지 확실하지 않지만 총체적인 결과로 더 이상 파란색 선택이나 파란색 깜박임이 표시되지 않습니다. 행복!
답변
세트 cell.userInteractionEnabled = NO;
답변
IB를 사용하는 것도 우아한 방법입니다.