Как сделать горизонтальный пейджинг UITableview? - PullRequest
0 голосов
/ 02 декабря 2011

Я хочу, чтобы на каждой странице появлялась таблица.Таблица будет иметь ту же структуру, но с разными данными на каждой странице.Я хочу, чтобы UIPageControl визуализировал текущую страницу.Как это сделать?Используя UITableviewController, я смогу обновить данные в таблицах.UITableview имеет параметр: включение подкачки.

1 Ответ

1 голос
/ 03 декабря 2011

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

- (void) callback:(id) sender {
    [mytableview reloadData];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (pgcontrol.currentpage == 1) {
        ...
    } else if (pgcontrol.currentpage == 2) {
        ....
    }
    ....
}

Затем вам нужно аккуратно поместить uipagecontrol поверх uitbaleview, по опыту лучше всего иметь bacid uiview, который содержит как uitableview, так и uipagecontrol или другой элемент управления, чтобы оба не перекрывались, в этом случае вы заканчиваете использовать контроллер uiview вместо контроллера uitableview. В общем, я считаю, что uitableviewcontroller полезен только для простого простого представления с простым представлением таблицы и без уточнения.

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ: чтобы сложить все вместе, вы бы пошли по следующим направлениям: 1) создать подкласс uiviewcontroller из библиотеки шаблонов файлов 2) на xib добавить элемент управления страницы как подпредставление представления контроллера, то же самое с добавлением uitbaleview 3) вам нужны выходы для этих двух элементов управления, и вам нужно определить контроллер как источник данных и делегировать для таблицы 4) вам также нужен IBAction для ссылки на значение события, измененное в pagecontrol, это то, что я называю обратным вызовом: (id) отправитель в моем первоначальном ответе + это IBAction, если вы делаете это с IB 5) все остальное возвращается к первоначальному ответу, а pgcontrol - это ваш выход в uipagecontrol

...