셀을 탭하면 행이 선택되고 강조 표시됩니다. 이제 내가 원하는 것은 강조 표시를 비활성화하지만 선택을 허용하는 것입니다.
답변:
스토리 보드에서 셀의 선택 스타일을 "없음"으로 설정할 수 있습니다.
또는 코드에서 :
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Swift 3 :
cell.selectionStyle = UITableViewCellSelectionStyle.none
Swift 4 이상 :
cell.selectionStyle = .none
UITableViewCell
의 selectedBackgroundView
색상을 투명으로 변경합니다 .
let clearView = UIView()
clearView.backgroundColor = UIColor.clearColor() // Whatever color you like
UITableViewCell.appearance().selectedBackgroundView = clearView
또는 특정 셀에 대해 설정하려면 :
cell.backgroundView = clearView
cell.selectionStyle = UITableViewCellSelectionStyleNone
때때로 Apple의 애니메이션 로직 내부에서 무언가를 깨뜨리기 때문에 이것이 최상의 옵션 입니다.
UITableViewCell.appearance().selectionStyle = .None
awakeFromNib()
함수 에 넣으면 효과가 있습니다
사용자 정의 색상을 추가하려면 아래 코드를 사용하십시오. 투명하게 사용하려면alpha: 0.0
cell.selectedBackgroundView = UIView(frame: CGRect.zero)
cell.selectedBackgroundView?.backgroundColor = UIColor(red:0.27, green:0.71, blue:0.73, alpha:1.0)
사용자 정의 색상을 사용하고 모서리를 둥글게 보이게하려면 다음을 사용하십시오.
cell.layer.cornerRadius = 8
또한 더 나은 애니메이션과 느낌을 위해 이것을 사용하십시오.
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
}
Objc의 경우 :
[셀 setSelectionStyle : UITableViewCellSelectionStyleNone];
- (void)viewDidLoad {
[super viewDidLoad];
_tableView.allowsSelection = YES;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
.. .. .. ..
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
. . . . ..
}
들어 스위프트 (5) 가장 좋은 방법은 다음과 같습니다
cell.selectionStyle = .none
cell.selectionStyle = UITableViewCellSelectionStyleNone;
당신이 추가cellForRowAtIndexPath
방법