2013-02-16 82 views
1

我有使用xib设置界面,使用时不光滑,为什么?当滑动不平滑时,UITableView使用xib设置单元格?

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"CustomerCell"; 
    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (!cell) { 
     NSArray * nib = [[NSBundle mainBundle] loadNibNamed:@"MSNeedCheckCell" owner:self options:nil] ; 
     cell = [nib objectAtIndex:0]; 
    } 
//填充cell的内容 
} 

回答

0

尝试从该类的init方法调用下面的方法:

[self.tableView registerNib:[UINib nibWithNibName:@"MSNeedCheckCell" bundle:nil] 
    forCellReuseIdentifier:@"CustomerCell"]; 

然后,你可以删除的代码,你的整个if (!cell) {节,因为它总是会返回一个细胞。这只会加载一次笔尖,而不是每次需要一个单元时,这样会更快。

+0

^^^^^谢谢:D – Xoangle 2013-02-16 02:45:08

0

这是不是真的,这一切都有它?或者你还在做其他任何事情(例如,在子类型的单元格中,或者为简洁起见你可能省略的其他代码)。

如果您对前景队列中的图像进行任何操作,最缺乏平滑度(以及平滑度,我假设您在讨论在桌面视图中滚动时在UI中出现口吃)的最常见原因是。

WWDC 2012 - 211 - Building Concurrent User Interfaces为如何使用仪器识别性能瓶颈的来源提供了一个精彩实用的说明。很明显,他们专注于那里的一个非常具体的设计考虑,但Instruments教程非常有用。在你失去太多的睡眠之前,确保这个特定的代码行真的是问题是很好的。