[ios] TableViewController, iOS에서 여분의 빈 셀을 제거하는 방법-Swift
안녕하세요 TableViewController
, 두 개의 정적 셀이 있지만 표시되면 두 개의 정적 셀이 표시되고 테이블 뷰에 대한 다른 모든 빈 셀이 표시됩니다. 그러나 쓸모없는 셀을 표시하고 싶지 않습니다. 두 개의 정적 셀과 별도로 나머지 셀을 숨기려면 어떻게합니까?
답변
당신의 viewDidLoad()
기능이 코드 줄을 추가합니다 :
tableView.tableFooterView = UIView()
답변
답변
여기에 행 tableFooterView
을 UIView()
제거하도록 설정하는 이유 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)