programing

UITableView의 셀 하이라이트 색상을 삭제합니다.

cafebook 2023. 4. 23. 11:28
반응형

UITableView의 셀 하이라이트 색상을 삭제합니다.

uitableview 셀 선택의 기본 파란색을 제거하고 싶습니다.나는 거기에 어떤 색상의 선택도 원하지 않는다.커스텀 셀클래스를 만들지 않았습니다.나는 셀 위에 라벨과 버튼을 추가하여 셀을 맞춤 제작하고 있다.나는 다음을 시도했다:

cell.selectioncolor = [UIColor clearcolor];

이 방법은 더 이상 사용되지 않는다고 합니다.

Swift의 경우:

cell.selectionStyle = UITableViewCell.SelectionStyle.none

또는 단순하게:

cell.selectionStyle = .none

에서Storyboard또는XIBAttributes Inspector, 설정Selection로.None.


선택:

목표-C:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

// or 

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];

Swift 3+:

cell.selectionStyle = UITableViewCellSelectionStyle.none;

// or

cell.selectionStyle = .none

스위프트 2:

cell.selectionStyle = UITableViewCellSelectionStyle.None

Interface Builder Storyboard/Xib만 사용하여 변경하려면 "선택 유형 효과"를 제거할 셀을 선택하고 "없음"으로 정의하십시오.마법과도 같은 효과를 발휘합니다.D

스토리보드 / Xib

Swift 3.0

cell.selectionStyle = .none
// Swift 2.0

cell.selectionStyle = UITableViewCellSelectionStyle.None

TableView 선택 스타일 설정.none내 앱의 테이블 뷰의 응답성과 성능에 영향을 미치고 있습니다(didSelectRowAt indexPath탭이 지연되고 있습니다).이 문제에 대한 나의 해결책은 선택한 배경 뷰를 숨기는 것입니다.awakeFromNib()셀이 처음 작성되었을 때:

selectedBackgroundView?.isHidden = true

감방에서 실행:

class YourCell:  UITableViewCell {
    
    override func didMoveToSuperview() {
        selectionStyle = .none
    }

    ...
}

그렇게 쉬워요.

이것을 빨리 사용해 보세요.

cell?.selectionStyle = UITableViewCellSelectionStyle.None

정답은 다음과 같습니다.

cell.selectedBackgroundView?.backgroundColor = <choose your color>

선택 유형은 다음과 같이 설정되는 다른 속성입니다..none원하는 것 외에 원치 않는 다른 부작용이 발생합니다.

셀을 강조 표시하지 않으려면 셀의 배경 뷰 색상을 강조 표시되지 않을 때와 동일하게 설정하십시오.

Swift 5.4, 그냥...selectionStyle = .none

예:

class TableViewCell: UITableViewCell {

 override func awakeFromNib() {
    super.awakeFromNib()
    
    selectionStyle = .none 

}

Swift 5:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
    cell.selectionStyle = .none
    
    return cell
}

언급URL : https://stackoverflow.com/questions/2787093/remove-the-cell-highlight-color-of-uitableview

반응형