Привет У меня есть TableViewController
с двумя статическими ячейками, однако при отображении он показывает две статические ячейки, а затем все остальные пустые ячейки для таблицы. Однако я не хочу отображать эти ячейки, поскольку они бесполезны. Как скрыть остальные ячейки отдельно от двух статических ячеек?
Как удалить лишние пустые ячейки в TableViewController, iOS - Swift
Ответ 1
в вашей функции viewDidLoad()
добавьте эту строку кода:
tableView.tableFooterView = UIView()
Ответ 2
Чтобы добавить к этому, причина, по которой установка tableFooterView
- UIView()
удаляет строки, заключается в том, что вы устанавливаете пустой объект UIView()
для свойства. Согласно документации Apple:
var tableFooterView: UIView?
Поэтому установка пустого UIView() не отображает ничего ниже ваших данных для этого свойства.
Вы можете вернуть пустые строки, сбросив tableFooterView
на значение по умолчанию, например:
tableView.tableFooterView = nil
Ответ 3
Вы можете достичь этого также в Storyboard, просто перетащив представление в область нижнего колонтитула таблицы, а затем установите его высоту и цвет фона на 1 и очистите соответственно с помощью инспектора свойств.
(Предполагается, что вы либо не можете, либо не хотите просто использовать настройку стиля группы по какой-либо причине. В противном случае просто сделайте это.)
Ответ 4
tableView.tableFooterView = UIView.init(frame: CGRect.zero)
Вызвать этот код внутри метода viewWillAppear
. И будет работать
Ответ 5
Выберите свой UITableView, перейдите к инспектору атрибутов и измените стиль на Grouped.
Ответ 6
Просто добавьте:
tableView.tableFooterView = UIView()
Пояснение:
Это абсолютно корректно и отлично работает в быстром 3.By. Поскольку вы устанавливаете пустой объект UIView() для свойства, установка tableFooterView в UIView() удаляет строки.
Ответ 7
Я попробовал tableview.tableFooterView = UIView(), и это не сработало для меня. Именно поэтому я использую собственный TableViewViewCell.
Я нашел hack tho. В моем func numberOfRowsInSection
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return yourArrayClass.count - 1
}
И это делает мой дополнительный пустой пользовательский UITableViewCell больше не отображаться. Конечно, это лишний пустой. Я проверю его еще немного, добавив больше ячеек. Для справки, я использую Swift 3, Firebase, пользовательский класс ячеек, внутри функции cellForRowAt.