2010-03-24 4 views
0

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

Когда в жизненном цикле UITableViewController я должен заполнить нижний колонтитул с помощью кнопки? viewDidLoad?

p.s. Я хочу избежать использования нижних колонтитулов раздела в UITableView.

ответ

1

Да, viewDidLoad - это правильное место. Тем не менее, это не правило каменного набора. У меня есть просмотр нижнего колонтитула в разных ситуациях, например, после вращения в didRotateFromInterfaceOrientation.

Обратите внимание, что представление будет перемещено в положение непосредственно под последней строкой, поэтому, если вы хотите указать маркер или центрирование для своей кнопки, я предлагаю добавить план UIVIew как нижний колонтитул, а затем добавить вашу кнопку (ы) в что UIView.

+0

Благодарим вас за это подтверждение. Является ли высота UITableView известной в UITableViewController viewDidLoad? Я спрашиваю, потому что в одном случае мне нужно поместить кнопку в нижней части экрана, когда таблица занимает меньше всего вертикального пространства экрана. – camelCase

+0

Неизвестно, пока tableView запрашивает dataSource для # строк и размера каждой строки. Я сделал именно то, что вы описали, и это большая работа - больше, чем я могу описать в комментарии. Короче говоря, создайте отдельный метод refreshFooter и вызовите его каждый раз, когда высота таблицы MIGHT изменилась - когда вы вызываете reloadData, когда устройство вращается и т. Д. Чтобы вычислить высоту таблицы, я предлагаю вычесть высоту существующего нижнего колонтитула из себя. tableView.contentSize.height. Чтобы изменить высоту нижнего колонтитула, вам нужно удалить и добавить его обратно, вы не можете просто изменить рамку нижнего колонтитула. – DenNukem

0

Вы можете просто настроить свойство tableFooterView UITableView на свою кнопку.

1

Да, положите его в viewDidLoad. Here - пример кода.

Смежные вопросы