2014-08-02 3 views
0

Поскольку использование трех ярлыков над UITableViewCell замедлилось, прокрутка вниз по экрану вниз. Пробовал рисовать прямо на UIView, что я перетащил ячейку прототипа. Хотя это значительно улучшило производительность прокрутки, это привело меня к еще одной проблеме.Рисование строки на uiview над contentview tableviewcell снова и снова рисует одно и то же содержимое

Фактически я рисую содержимое фида. После шести или семи уникальных строк (для 20 записей) строки повторяются. Они показывают тот же контент, начиная с верхней части таблицы. Однако, когда я использую эти повторяющиеся ячейки, содержимое изменяется на то, что должно было быть.

После исследования я обнаружил, что шесть или семь - это количество строк, фактически видимых на экране. Таким образом, это должно было отображаться ошибка обновления, но я не уверен, должен ли я это исправить.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *cellIdentifier = @"newsCell"; 
    NewsCell *cell = (NewsCell*)[tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    if (indexPath.row < feeds.count) { 
     dict = [feeds objectAtIndex:indexPath.row]; 
     [cell setNewsHeading:[dict objectForKey:@"title"] pubDate:[dict objectForKey:@"pubDate"] newsExcerpt:[dict objectForKey:@"attributedDescription"]]; 
    } 
    dict = nil; 
    return cell; 
} 

-(void)setNewsHeading:(NSString *)newsHeading pubDate:(NSString *)pubDate newsExcerpt:(NSAttributedString *)newsExcerpt 
{ 
    self.newsView.newsHeading = newsHeading; 
    self.newsView.pubDate = pubDate; 
    self.newsView.newsExcerpt = newsExcerpt; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 

// Return the number of rows in the section. 
return [feeds count]; 
} 
+0

Может показывать код для 'tableView: numberOfRowsInSection:'? – Rick

+0

Вы загружаете фиды при обновлении таблицыView или каналы уже полностью загружены перед отображением в tableView? – Rick

ответ

0

Это звучит, как это может быть проблема с кэшированием - вы пытались переопределить метод prepareForReuse в своем мобильном подклассе, чтобы сбросить содержимое ячейки обратно к значениям по умолчанию?

+0

Нет, нет. Как я могу это использовать? –

+0

Кажется, что это работает, используя [self.newsview setNeedsDisplay]. Однако производительность прокрутки ухудшилась, и все это было связано с ручным использованием UIView. Есть ли что-то еще, что я могу сделать, чтобы очистить UIView? –

Смежные вопросы