TableViewController, iOS - Swift에서 여분의 빈 셀을 삭제하는 방법
안녕하세요.TableViewController
단, 2개의 스태틱셀이 표시되어 있는 경우는 2개의 스태틱셀이 표시되고 테이블뷰의 다른 모든 빈 셀이 표시됩니다.하지만 그 세포들은 쓸모없기 때문에 전시하고 싶지 않습니다.두 개의 정적 셀을 제외한 나머지 셀은 어떻게 숨기나요?
당신의 안에서viewDidLoad()
함수는 다음 코드 행을 추가합니다.
tableView.tableFooterView = UIView()
UITableView를 선택하고 속성 검사기로 이동하여 스타일을 Grouped로 변경합니다.
여기에 추가하자면, 설정이 필요한 이유tableFooterView
로.UIView()
행을 삭제합니다.이것은, 빈칸을 설정했기 때문입니다.UIView()
재산에 이의를 제기하다Apple 의 메뉴얼에 따라서:
var tableFooterView: UIView?
따라서 빈 UIView()를 설정하면 이 속성의 데이터 아래에 아무것도 표시되지 않습니다.
빈 행은 리셋하여 되돌릴 수 있습니다.tableFooterView
다음과 같이 디폴트값으로 설정합니다.
tableView.tableFooterView = nil
의 설정tableFooterView
보기와 같은 추가 셀을 제거해야 합니다.
@IBOutlet weak var tableView: UITableView! {
didSet {
tableView.tableFooterView = UIView(frame: .zero)
}
}
tableView.tableFooterView = UIView.init(frame: CGRect.zero)
이 코드를 호출하다viewDidLoad
방법.
Storyboard에서도 보기를 테이블 뷰의 바닥글 영역으로 드래그한 후 높이와 배경색을 각각 1로 설정하고 속성 검사기를 사용하여 지우기만 하면 됩니다.
(이는 어떤 이유로 그룹 스타일 설정만 사용할 수 없거나 사용할 수 없다고 가정합니다.그렇지 않으면 그렇게 하세요.)
Swift 4 HorseT의 답변을 자세히 설명하고 먼저 스토리보드의 테이블 뷰에서 뷰 컨트롤러 클래스로 드래그하여 table View라는 아웃렛을 만듭니다.
@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)
모든 행의 삭제하십시오.UITableViews
앱에서 다음과 같은 확장자를 추가합니다.
Swift 5.0
extension UITableView {
override open func didMoveToSuperview() {
super.didMoveToSuperview()
self.tableFooterView = UIView()
}
간단하게 추가:
tableView.tableFooterView = UIView()
설명:
이것은 완전히 유효하며 swift 3에서는 완벽하게 동작합니다.빈 UIView() 개체를 속성에 설정하므로 tableFooterView를 UIView()로 설정하면 행이 삭제됩니다.
"override func viewDidLoad()" 또는 "override func viewWillAppear(_ 애니메이션)"에서 아래 코드를 추가합니다. BOOL)" 기능이 있습니다.
tblOutletName.tableFooterView= UIView()
Abobe anwer가 옳습니다.이를 실현하기 위해서는
tableView.tableFooterView = UIView() // to remove extra cells in tableView
tableview.tableFooterView = UIView()를 시도했지만 작동하지 않았습니다.커스텀 TableViewCell을 사용하고 있기 때문에, 아마 그 이유일 것입니다.
해킹범을 찾았어요내 func number Of Rows InSection에서
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return yourArrayClass.count - 1
}
그 때문에, 여분의 공백의 커스텀 UITableViewCell이 표시되지 않게 됩니다.물론 여분의 빈칸이죠.Cells를 추가해서 조금 더 테스트해 보겠습니다.참고로 cellForRowAt 함수는 커스텀 셀 클래스인 Swift 3, Firebase를 사용하고 있습니다.
언급URL : https://stackoverflow.com/questions/28708574/how-to-remove-extra-empty-cells-in-tableviewcontroller-ios-swift
'programing' 카테고리의 다른 글
bash 명령줄 args $@ vs $*에 액세스합니다. (0) | 2023.04.21 |
---|---|
Conda가 기본 환경을 활성화하지 않도록 하려면 어떻게 해야 합니까? (0) | 2023.04.21 |
iOS7에서 상태 표시줄을 숨길 수 없음 (0) | 2023.04.21 |
Git 원격 분기가 삭제되었지만 'branch -a'에 계속 표시됨 (0) | 2023.04.21 |
메서드를 찾을 수 없습니다. '!0[] 시스템.Array. Empty()' (0) | 2023.04.21 |