iOS UiTableViewCell избирательные ячейки, чтобы показать accessoryView - PullRequest
1 голос
/ 24 января 2012

Моя проблема похожа на this :

Но я хочу показать accessoryView с кнопкой DetailDisclosureButton только для ячеек, в которых есть детали.

Я написал несколько кодов, но я не знаю, в какой метод их поместить.

if (totalcount == 0 && totalcount2 == 0)
{
    cell.accessoryType = UITableViewCellAccessoryNone;
}

else 
{
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
}

totalcount и totalcount2 - это счетчик двух изменяемых массивов, которые сообщают мне, есть ли в ячейках детали или нет.

Пожалуйста, спросите меня, если мой вопрос не ясен, спасибо.

Ответы [ 4 ]

5 голосов
/ 24 января 2012
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString* identifierString;

    if(totalCount == 0 && totalCount2 == 0) {
        identifierString = @"0";
    } else {
        identifierString = @"1";
    }

    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:identifierString];

    if(cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:YOUR_CELL_STYLE 
            reuseIdentifier:identifierString] autorelease];

        if ([identifierString intValue] == 0) {
            cell.accessoryType = UITableViewCellAccessoryNone;
        } else {
            cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
        }

        //do whatever setup you need to do
    }

    return cell;
}

Хотя мне кажется, что если totalCount и totalCount2 оба равны 0, то все ячейки будут иметь один и тот же тип аксессуара. Это то, что ты что? Если нет, вы можете пересмотреть свою логику.

2 голосов
/ 24 января 2012

Вы должны сделать это в tableView:cellForRowAtIndexPath:, пока вы настраиваете UITableViewCell

1 голос
/ 24 января 2012

добавить это к tableView:cellForRowAtIndexPath: после того, как ячейка была снята или инициализирована

0 голосов
/ 24 апреля 2015

Вы можете использовать эту библиотеку.С помощью MSCellAccessory UITableViewCell's accessoryType может легко настраивать цвета.Поддержка Flat Design так же, как iOS7.https://github.com/bitmapdata/MSCellAccessory

...