У меня неловкая проблема, когда вызов [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];
}
Любые советы были бы хороши, я действительно застрял здесь: '(