UItable ViewCell 분할선 제거 방법

8004 단어 UITableViewSwiftiOS
UItableView의 분리선·UItableViewCell Separator를 없애고 싶은 게 있죠.
이번 보도의 목록은 다음과 같다.
  • 모든 칸의 구분선 삭제
  • 부분 칸의 구분선 삭제
  • '전부'와'일부'는 무엇이 다릅니까?
  • 빈 칸 구분선 삭제
  • 모든 칸의 구분선 삭제


    우선 모든 칸의 구분선을 없애는 방법부터 시작한다.
    Storyboard에서 설정할 때 TableView의 Separator 위치를 None으로 변경합니다.
    설정 전
    설정 후


    설정을 반영하면 다음과 같습니다.
    설정 반영 전
    설정 반영 후


    참고로 코드로 쓰면 다음 코드를 추가하면 구분선을 똑같이 삭제할 수 있다.
    Swift
    tableView.separatorStyle = .none
    

    부분 칸의 구분선 삭제


    그러면 일부 칸의 칸막이를 없애려면 어떻게 해야 하나요?
    예를 들어, UItableView에는 A라는 셀 클래스와 B라는 셀 클래스가 있습니다.A의 칸에 칸막이를 표시하지만 B의 칸으로 삭제하려고 합니다.이런 상황에서
    일부 칸의 구분선을 삭제하려면 Storyboard에서 설정할 수 없고 코드로만 설정할 수 있습니다.
    Swift
    cell.separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: .greatestFiniteMagnitude)
    
    tableView(_:cellForRowAt:)로 이 코드를 추가합니다.
    Swift
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
        cell.textLabel?.text = "\(indexPath.section) - \(indexPath.row)"
    
        // 2で割り切れない数だけ区切り線を表示
        if indexPath.row % 2 == 0 {
            cell.separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: .greatestFiniteMagnitude)
        }
        return cell
    }
    
    상술한 코드를 사용하여 실시할 때는 다음과 같다.
    설정 반영 전
    설정 반영 후


    '전부'와'일부'는 무엇이 다릅니까?


    다음은 잡담.
    상술한'모든 칸의 구분선 삭제'와'일부 칸의 구분선 삭제'는 무엇이 다릅니까?
    결론부터 말하면 다음과 같다.
  • 모든 구분선 지우기: 전체 UITTableView에 설정 반영
  • 일부 단지의 구분선 삭제: UITOble ViewCell에 설정 반영
  • 상술한 차이가 있다.
    예를 들어, UItableView에 표시된 빈 셀은 부분 셀 구분선을 제거하는 방법에는 설정이 반영되지 않습니다.

    모든 셀의 구분선은 전체 UItableView 설정을 반영하며 빈 셀에서 구분선을 제거하는 설정도 반영합니다.

    빈 칸 구분선 삭제


    그러면 일부 칸의 구분선을 삭제하는 동시에 빈 칸의 구분선을 삭제하세요!이 상황에서 어떻게 하면 좋겠습니까?
    다음 코드만 추가하면 빈 칸의 구분선이 사라집니다.
    Swift
    tableView.tableFooterView = UIView()
    
    모든 셀의 구분선 표시
    부분 칸과 빈 칸의 구분선을 삭제합니다


    그나저나 UItable ViewCell의 구분선은 UITableViewSeparatorView인 것 같습니다.외부에서 들어오면 편할 것 같기도 하고.

    좋은 웹페이지 즐겨찾기