[ios] TableViewController, iOS에서 여분의 빈 셀을 제거하는 방법-Swift

안녕하세요 TableViewController, 두 개의 정적 셀이 있지만 표시되면 두 개의 정적 셀이 표시되고 테이블 뷰에 대한 다른 모든 빈 셀이 표시됩니다. 그러나 쓸모없는 셀을 표시하고 싶지 않습니다. 두 개의 정적 셀과 별도로 나머지 셀을 숨기려면 어떻게합니까?



답변

당신의 viewDidLoad()기능이 코드 줄을 추가합니다 :

tableView.tableFooterView = UIView()


답변

UITableView를 선택하고 속성 검사기로 이동하여 스타일을 Grouped로 변경하십시오.

여기에 이미지 설명 입력


답변

여기에 행 tableFooterViewUIView()제거하도록 설정하는 이유 UIView()는 속성에 빈 개체를 설정하기 때문 입니다. Apple 문서에 따르면 :

var tableFooterView: UIView?

따라서 빈 UIView ()를 설정하면이 속성에 대한 데이터 아래에 아무것도 표시되지 않습니다.

다음 tableFooterView과 같이 기본값 으로 재설정하여 빈 행을 다시 가져올 수 있습니다 .

tableView.tableFooterView = nil


답변

설정하면 tableFooterView뷰와 같은 추가 셀이 제거됩니다.

   @IBOutlet weak var tableView: UITableView! {
        didSet {
            tableView.tableFooterView = UIView(frame: .zero)
        }
    }


답변

스토리 보드에서도 뷰를 테이블 뷰의 바닥 글 영역으로 드래그 한 다음 높이와 배경색을 1로 설정하고 속성 관리자를 사용하여 각각 지울 수 있습니다.

(이것은 어떤 이유로 그룹 스타일 설정을 사용할 수 없거나 사용하고 싶지 않다고 가정합니다. 그렇지 않으면 그냥 사용하십시오.)


답변

Swift 4
Elaborating on HorseT ‘s answer, 먼저 스토리 보드의 Table View에서 View Controller 클래스로 드래그하고 tableView라는 콘센트를 만듭니다.

@IBOutlet weak var tableView: UITableView!

그런 다음 View Controller의 viewDidLoad는 다음과 같아야합니다.

    override func viewDidLoad() {
    super.viewDidLoad()

    tableView.dataSource = self
    tableView.delegate = self

    tableView.tableFooterView = UIView()
}


답변

위의 답변을 바탕으로 신속하게 .

tableView.tableFooterView = UIView(frame: .zero)