Crazy TableView (или, скорее, я просто придурок) ;-) - PullRequest
0 голосов
/ 30 декабря 2010

Я схожу с ума от всей этой цели C.

Сегодня я легла спать в 13:30, проводя ночь в своем приложении, но мне это нравится ...

Ну, это не главное ...

Мой вопрос ...

У меня есть табличное представление, которое оценивает оператор при отображении его данных: оно выглядит так:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"CustomCell";

cell = ((MainCell *)[self.tableView dequeueReusableCellWithIdentifier:CellIdentifier]);
if (cell == nil) {

        [[NSBundle mainBundle] loadNibNamed:@"MainCell" owner:self options:nil];

        }

    Entry *entry = [fetchedResultsController objectAtIndexPath:indexPath];
    cell.topLabel.text = [@"* " stringByAppendingString: entry.entryname];
    cell.bottomLabel.text = entry.textbody;


    if ([entry.active boolValue] == YES) {
        cell.cellImageView.image = [UIImage imageNamed:@"check.png"];
    }
    else {
        cell.cellImageView.image = nil;
        cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

    }

    return cell;
 }

Проблема в том, что при первом отображении данных выполняются условия, когда я прокручиваю таблицу вниз, но когда я прокручиваю вверх, иногда я получаю свое изображение "check.png" и аксессуар, который обычно невозможно.

Я схожу с ума или это стол?

Не могли бы вы помочь мне с этим, пожалуйста, я не могу понять, почему это не работает ...: - ((

Заранее большое спасибо.

Mike

Ответы [ 2 ]

1 голос
/ 30 декабря 2010

Когда ячейки используются повторно, вы устанавливаете только изображение или аксессуар, но не очищаете аксессуар в первом случае. Поэтому при повторном использовании ячейки с аксессуаром на нем может оставаться аксессуар, который использовался в прошлый раз, даже если он не активен.

0 голосов
/ 31 декабря 2010

Ух ты, сейчас работает.Спасибо миллион.

код был

if ([entry.active boolValue] == YES) {
    cell.cellImageView.image = [UIImage imageNamed:@"check.png"];
}
else {
    cell.cellImageView.image = nil;
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

}

, но это должно было быть:

if ([entry.active boolValue] == YES) {
    cell.cellImageView.image = [UIImage imageNamed:@"check.png"];
    cell.accessoryType = UITableViewCellAccessoryNone;
}
else {
    cell.cellImageView.image = nil;
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

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