2015-12-10 5 views
0

Мне нужен tableView, который может иметь любое количество ячеек с разным расположением и/или данными в разных ячейках и может меняться во время выполнения.Swift 2.1 tableView layout layout и содержимое для изменения во время выполнения

Со статическими ячейками меня ограничивает его первоначальное создание макета и количество ячеек.

С прототипом. Я ограничен его фиксированным расположением, даже если его количество и данные могут измениться.

Мне нужно выбрать другую компоновку, а также данные и количество ячеек во время выполнения. Как мне получить это поведение?

Благодаря

ответ

1

Использование tableView:numberOfRowsInSection динамически изменять количество ячеек в UITableView в зависимости от каких-либо моделей у вас есть.

Используйте tableView:cellForRowAtIndexPath: для динамического выбора одного из ваших подклассов UITableViewCell, который будет иметь макет, который вы определяете, и заполнить его данными.

Когда ваша модель изменяется, вы можете перезагрузить ячейки в таблицеView, и они будут меняться в соответствии с логикой в ​​ваших методах UITableViewDataSource.

+0

Так что это происходит с использованием прототипа, а не статического. Это верно? –

+0

Да, вам нужно либо определить несколько прототипов, либо определить свой собственный подклас UITableViewCell и зарегистрировать его в вашем контроллере вида. –