我有一个UITableView,显示我在界面构建器中设计的自定义视图单元格。它有很多按钮和标签以及渐变背景,这使得滚动性能变得邋,,每次新单元加载时它都“滞后”。我已经阅读了创建Tweetie关于快速滚动的人的指南,它说最好手动绘制所有内容。
还有其他办法吗?我想使用我的.xib文件,因为手动绘制所有这些组件是相当繁琐的工作。
这是实现cellForRowAtIndexPath:方法的方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"ThreadsViewCell";
ThreadViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ThreadViewCell" owner:nil options:nil];
for(id currentObject in topLevelObjects)
{
if([currentObject isKindOfClass:[ThreadViewCell class]])
{
cell = (ThreadViewCell *)currentObject;
break;
}
}
}
答案 0 :(得分:5)
复杂的视图层次结构和alpha混合将始终消除滚动性能。
您需要展平/简化视图层次结构,或者开始使用CoreGraphics技能。
如果您有兴趣了解已经进行了多少混合,请在(在设备上)运行乐器中的“核心动画”模式,然后选中“颜色混合图层”复选框。你想看到尽可能多的绿色,红色越深,混合越差。