Настройка каждой ячейки в своей группе - PullRequest
1 голос
/ 07 июня 2009

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

Кроме того, возможно ли программно установить стиль таблицы для группировки?

Ответы [ 2 ]

3 голосов
/ 07 июня 2009

На ваш второй вопрос:

tableView.style = UITableViewStyleGrouped;

Или, если вы создаете это программно:

tableView = [[UITableView alloc] initWithFrame:frame style:UITableViewStyleGrouped];

На ваш первый вопрос, я предполагаю, что вы настраиваете свои клетки примерно так:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    ...
    setupCell(cell,indexPath.row);
    return cell;
}

Где setupCell - это то, что проверяет индекс и соответственно устанавливает ячейку. Однако IndexPath сообщает, какую строку в каком разделе настроить.

Я также предполагаю, что вы возвращаете полное количество строк в функции

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

Где вы должны возвращать только 1, так как вы хотите ровно 1 строку в каждом разделе.

Тогда при настройке вашей ячейки вы захотите установить indexPath.section вместо indexPath.row. Строки начинаются с нуля по разделам, поэтому вызовы cellForRowAtIndexPath будут иметь индексные пути, которые выглядят следующим образом:

Секция Row
0, 0
1, 0
2, 0

Тогда как изначально, когда у вас был только один раздел, это было бы:
0, 0
0, 1
0, 2

И то, что вы видите прямо сейчас, поскольку вы возвращаете столько же строк, сколько и разделов:
0, 0
0, 1
0, 2

1, 0
1, 1
1, 2

2, 0
2, 1
2, 2

2 голосов
/ 25 октября 2009

на самом деле, вы не можете сделать это:

tableView.style = UITableViewStyleGrouped;

потому что стиль - это свойство только для чтения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...