Подтвердить что ты не робот

Как удалить лишние пустые ячейки в TableViewController, iOS - Swift

Привет У меня есть TableViewController с двумя статическими ячейками, однако при отображении он показывает две статические ячейки, а затем все остальные пустые ячейки для таблицы. Однако я не хочу отображать эти ячейки, поскольку они бесполезны. Как скрыть остальные ячейки отдельно от двух статических ячеек?

4b9b3361

Ответ 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.