2014-08-31 3 views
0

Моя пользовательская ячейка содержит перегруженные значки и метку внутри этого значка (оба в xib). Тогда как я могу повторно использовать ячейку? Если я сделаю cell.imgBadgeImageView.image = nil и в prepareForReuse метод пользовательской ячейки, оба из них исчезнут из всех оставшихся ячеек (поскольку мы повторно используем ячейки).проблема в повторном использовании табло сотовой таблицы

Нужно ли добавить значок и ярлык внутри него как подпункт ячейки из кода? Если я это сделаю, то как я могу получить доступ к представлению изображения значка ячейки и значка значка. Мне нужно получить доступ к этим двум, потому что есть приятная анимация (для изображения) и изменение текста (для метки).

Я в настоящее время делает все клетки nil, которые не находятся в представлении, используя этот метод делегата:

-(void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { 
    if ([tableView.indexPathsForVisibleRows indexOfObject:indexPath] == NSNotFound){ 
     VBMerchantDealCell *cell = (VBMerchantDealCell *)[tableView cellForRowAtIndexPath:indexPath]; 
     cell = nil; 
    } 
} 

ответ

1

Я понимаю, что вы хотите использовать ячейку. Я не знаю, правильный ли подход, который вы принимаете, но я делаю это так, как Apple сказала мне сделать это.

a. Установите идентификатор повторного использования в xib. Скажите «MyCustomCell».

b. Зарегистрируйте ячейку после распределения таблиц с помощью:

self.cellNib = [UINib nibWithNibName:@"MyCustomCell" bundle:nil]; 
[self.tableView registerNib:self.cellNib forCellReuseIdentifier:@"CustomCell"]; 

c. Получите ячейку на вашем «cellForRowAtIndexPath», используя:

NSString *identifier = @"MyCustomCell"; 
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:identifier]; 
Смежные вопросы