我在使用uitableview自定义标题时遇到两个问题:
1)更大的一点是自定义标题在真正的iPhone 3G 3.1.3上滚动列表的速度正在减慢,同时在模拟器或真正的iPad上保持完美。这是我正在使用的代码:- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView *headerView = [[HeaderView alloc] init];
headerView.alpha = 0.7;
UITextView *label = [[UITextView alloc] initWithFrame:CGRectZero];
label.textColor = [UIColor whiteColor];
switch (section) {
case 0:
label.text = @"Mattina";
break;
case 1:
label.text = @"Pomeriggio";
break;
case 2:
label.text = @"Sera";
break;
default:
label.text = @"";
break;
}
[headerView addSubview:label];
return headerView;
}
2)使用上面的代码,标题标签没有显示......哪里出错?
谢谢!
答案 0 :(得分:1)
我在这看到两个问题:
为什么要将标签的框架设置为CGRectZero?它没有默认设置的自动调整属性,因此它不会拉伸以适合Headerview。我明确地设置了宽度和高度,只是为了确定,但这可能会起到作用:
label.autoresizingMask = UIViewAutoresizingFlexibleWidth;
为什么使用UITextView而不是UILabel?它并不广为人知,但UITextView在放置在可滚动视图后显示内容存在一些问题。它并不总是正确刷新。此外,这是一个过度使用,我个人觉得能够在另一个滚动视图中滚动视图,即UITableView中的UITextView,这是违反直觉的。
答案 1 :(得分:0)
@Abramodj我认为你需要做
[label setBackgroundColor:[UIColor clearColor]];
答案 2 :(得分:0)
缓慢是由泄漏引起的。解决方案只是在headerView
对象上设置自动释放:
UIView *headerView = [[[HeaderView alloc] init] autorelease];