准备UITableViewCells

时间:2014-01-03 12:06:35

标签: ios iphone objective-c uitableview

在我的tableView中,在tableView的顶部看不到一个单元格类型。所以当我滚动我的tableView时,我看到细胞出现时的滞后。在iPhone 4中,这是一个非常大的滞后。因此,当tableView将我的单元格出列时,没有任何问题,但是当它首次加载它们形成笔尖时,我看到滞后。

现在我在viewDidLoad

中使用
UINib *nib = [UINib nibWithNibName:NSStringFromClass([MovieDescriptionEventsCell class]) bundle:nil];
[self.tableView registerNib:nib forCellReuseIdentifier:NSStringFromClass([MovieDescriptionEventsCell class])];

因此,对于前6-8个单元格而言存在滞后,因为它们是从笔尖加载的。如何在tableView中出现单元格?

修改

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section == 0) {
    /////
    } else if (indexPath.section == 1) {
        MovieDescriptionEventsCell *cell = (MovieDescriptionEventsCell *)[tableView dequeueReusableCellWithIdentifier:NSStringFromClass([MovieDescriptionEventsCell class])];
        cell.delegate = self;
        cell.maxNumberEvents = eventsMaxNumber;
        cell.partPlace = currentDayEvents.partPlaceEvents[indexPath.row];
        return cell;
    }
}

单元格中的所有魔法,但是在tableview创建6-8个单元格(取决于单元格的大小)后,只有在创建它们时才会有滞后。

1 个答案:

答案 0 :(得分:0)

viewDidLoad

中创建

将其指针存储在dataSource成员中(例如slowCell),

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

中返回