Пользовательская ячейка не перерисовывается - PullRequest
0 голосов
/ 23 сентября 2011

У меня неловкая проблема, когда вызов [self invalidateModel]; не перерисовывает мои пользовательские ячейки.

У меня есть TTTableViewController с листом действий, который позволяет упорядочить отображение таблицы при нажатии.Данные корректно перерисовываются, но ячейки не перерисовываются.Вместо этого используются повторно.

Чтобы лучше проиллюстрировать:
В моем - (void)layoutSubviews { моего класса CustomTableItemCell у меня есть это:

if (bookmarked) {
        UIImage *bookmark = [UIImage imageNamed: @"bookmarked@2x.png"];
        TTImageView *bookmarkView = [[TTImageView alloc] init];
        bookmarkView.defaultImage = bookmark;
        bookmarkView.frame = CGRectMake(297, 0, 16, 27);
        [self.contentView addSubview:bookmarkView];
        TT_RELEASE_SAFELY(bookmarkView);
}

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

Источник кода:
Это моя функция createDatasource моего TTTableViewController:

- (void)createModel {
    self.dataSource = [ServiceRequestDetailedDataSource viewDataSource:self.typeOfAction andOrderBy:orderBy];
    // If dataSource nil, show an empty Message
    if (self.dataSource == nil) {
        [self showEmpty:YES];
    }
}

Это мое действиелист действия моего TTTableViewController, который изменяет orderBy и вызывает недействительные модели:

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 0) {
        self.orderBy = @"portfolio";
    [self invalidateModel];
}

Любые советы были бы хороши, я действительно застрял здесь: '(

Ответы [ 2 ]

0 голосов
/ 23 сентября 2011

Нашел, просто используйте reuseidentifier.Мой плохой.

0 голосов
/ 23 сентября 2011

Может быть, [самостоятельная перезагрузка] поможет вам обновить вид ячеек. Назовите его после аннулирования модели

...