Как добавить нижний колонтитул к UITableView в раскадровке

Я новичок в разработке iOS.

Я хочу добавить нижний колонтитул к представлению таблицы в UITableViewController. Я создал представление, которое хочу использовать в качестве нижнего колонтитула графически в Storyboard, однако я не могу понять, как подключить его в качестве нижнего колонтитула к моему табличному представлению.

Я могу добавить нижний колонтитул программно в методе UITableViewController viewDidLoad, назначив self.tableView.tableFooterView. Но я создал свое представление нижнего колонтитула в раскадровке. Как лучше всего добавить его в качестве нижнего колонтитула в представление таблицы?


person Jon Cox    schedule 07.03.2012    source источник


Ответы (3)


Вы можете просто перетащить представление в нижнюю область tableView. В иерархии вы увидите, что это будет часть представления таблицы. Затем вы можете перетаскивать туда подпредставления, такие как метки и кнопки, настраивать высоту и т. Д.

person dbrajkovic    schedule 07.03.2012
comment
Обратите внимание, что вы можете сделать это, только если у вас указано более 0 ячеек прототипа. В противном случае перетаскиваемое представление всегда становится заголовком. Чтобы исправить это, измените количество ячеек прототипа на 1, перетащите в представление под одной ячейкой прототипа, затем снова измените количество ячеек прототипа на 0. - person John Brewer; 08.09.2012
comment
Спасибо за ответ. Это сэкономило мне день. Я работал над добавлением дополнительной ячейки с кнопкой на ней и столкнулся с ошибкой CoreData при обновлении tableView. Я не знал, что это можно сделать так. Такое простое и чистое решение для меня. - person John; 07.11.2012
comment
Я сделал именно то, что описано - добавил представление в нижний колонтитул, создал класс для представления нижнего колонтитула, но когда я пытаюсь подключить выходы, это не удается! Просто не видит класс, куда добавлять розетки (ручной выбор бесполезен) - person Stas; 04.04.2013
comment
Если у вас возникли проблемы с перетаскиванием в представление в качестве представления нижнего колонтитула, добавьте представление заголовка, а затем попробуйте добавить другое представление так же, как вы добавляли представление заголовка, и оно установится в нижний колонтитул, а затем может удалить заголовок . - person Chris Wagner; 10.10.2013
comment
Работает ли этот ответ сегодня с Xcode 6 (2015)? В моем UITableView есть одна ячейка-прототип, и если я перетащу кнопку в UITableView, она будет размещена в ячейке-прототипе вместо создания представления нижнего колонтитула. Если я перетащу кнопку на Document Outline > Table View, это не сработает. Кнопка размещается на том же уровне, что и первый респондент или выход. - person sports; 25.05.2015
comment
Я только что бросил взгляд на UITableView. Он не отображается внизу. Когда я перемещаю его над ячейкой, он отображается в начале таблицы. Пока внизу он вообще не отображается. Любая причина, по которой @JohnBrewer - person AsifHabib; 15.03.2016
comment
Это все еще работает в XCode 7.3.1. Просто убедитесь, что после того, как вы перетащите представление после установки ячейки прототипа, вы перетащите представление так, чтобы оно было визуально определенно ниже ячейки, а затем выключите ячейку. После того, как ячейка выключена, представление является единственным дочерним представлением табличного представления, и хотя оно не похоже на него, это определенно нижний колонтитул. - person micnguyen; 17.11.2016
comment
Вау, это отличный намек;) - person GatoCurioso; 19.07.2017
comment
Также убедитесь, что вы указали конечное, ведущее, верхнее и нижнее ограничение для табличного представления. - person Ali; 10.11.2017
comment
@JohnBrewer Вы можете добавить свой комментарий в качестве ответа. Я думаю, многие люди ищут этот вопрос, потому что у них проблема с динамическими ячейками и нижним колонтитулом в раскадровке. Мне это помогло. Большое тебе спасибо! - person Kiryl Belasheuski; 18.11.2017
comment
Наряду с этим @JohnBrewer сказал, что если ячейки нет, и вы добавляете подпредставление, первое будет заголовком, а второе - нижним колонтитулом, поэтому, если вам нужен только нижний колонтитул, добавьте заголовок нулевой высоты, а затем нижний колонтитул или отредактируйте вручную раскадровка. - person buguibu; 24.07.2019
comment
Похоже, это сработало для меня, но вид таблицы, похоже, не позволяет мне прокручивать вниз, чтобы увидеть весь нижний колонтитул. Например, я создал только пустой вид высотой 500, но я могу прокрутить вниз, чтобы увидеть примерно половину его. Если я отлаживаю иерархию представлений в xcode, представление имеет правильную высоту 500, но, как я уже сказал, видна только половина его. Кто-нибудь знает, почему это так? - person Tim Schmidt; 07.08.2019

Очень простой!. dbrajkovic решение, но в графическом виде. Просто добавьте представление в представление таблицы. И все! введите описание изображения здесь

В этом примере представление нижнего колонтитула (представление отказа от ответственности) имеет две метки (заголовок отказа от ответственности Llb и содержимое заявления об отказе от ответственности Lbl).

person Javier Calatrava Llavería    schedule 11.07.2016

Приведенный выше ответ сработал для меня с одним поворотом. Я обнаружил, что не могу добавить нижний колонтитул, если ячейки занимают всю высоту представления таблицы. Удаление пары ячеек позволило мне добавить нижний колонтитул, после чего я смог снова добавить ячейки.

person timschmitz    schedule 07.11.2013
comment
Или просто увеличьте высоту сцены, чтобы вид таблицы был выше. - person bugloaf; 05.04.2014
comment
Вы можете перемещать колесико мыши вверх и вниз в редакторе. Вроде активно прокручивается вид. - person Shaunti Fondrisi; 09.05.2014
comment
Чтобы растянуть табличное представление в построителе интерфейса, не забудьте установить для Simulated Size значение Freeform в Size Inspector для сцены tableview. - person Franco Solerio; 22.04.2015