Несколько пользовательских UITableViewCells в одном NIB - как ссылаться в коде? - PullRequest
0 голосов
/ 30 октября 2010

Я создаю пользовательские UITableViewCells, используя подход, описанный на этой странице:

http://icodeblog.com/2009/05/24/custom-uitableviewcell-using-interface-builder/

Так что мой код cellForRowAtIndexPath выглядит примерно так:

static NSString *CellIdentifier = @"CustomCell";
TableCellWithLogo *cell = (TableCellWithLogo *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"TableCells" owner:nil options:nil];
    for (id currentObject in nibObjects)
    {   
        if ([currentObject isKindOfClass:[TableCellWithLogo class]] )
        {
            cell = (TableCellWithLogo *)currentObject;
        }
    }
}
cell.customTextLabel.text = [tableArray objectAtIndex:indexPath.row];
return cell;

Теперь таблица, которую я создаю, выглядит как стилизованная версия стиля сгруппированных табличных представлений с тенями и т. Д. Таким образом, для нее требуется четыре возможных стиля таблицы (верхняя, центральная, нижняя ... и верхняя + нижняя, когдапоказывается одна ячейка).

Мне не удается решить, как поместить все эти ячейки таблицы в один кончик, а затем обратиться к ним.На данный момент у меня есть перо с UITableViewCell, чей класс 'TableCellWithLogo'.Этот класс имеет все соответствующие IBOutlets.Если бы я поместил несколько UITableViewCell в перо (все из класса TableCellWithLogo), как бы я мог различить их в коде?Вы можете видеть в приведенном выше примере, я узнаю класс:

if ([currentObject isKindOfClass:[TableCellWithLogo class]] )

.. но все классы будут одинаковыми, поэтому я не уверен, как дифференцировать?

1 Ответ

1 голос
/ 30 октября 2010

Создайте один пустой кончик и добавьте в него ячейки табличного представления.Также для каждого из них создайте соответствующий класс и назначьте соответствующий класс для каждого из них (см. Скриншот).alt text

Затем в cellForRowAtIndexPath вам нужно будет создать разные ячейки на основе indexPath.row

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