我使用
创建了一个单元格static NSString *CellIdentifier = @"TweetListUserName";
CustomTableViewCell *cell = (CustomTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[CustomTableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]autorelease] ;
}
并使用以下代码设置节标题:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView* customView = [[[UIView alloc] initWithFrame:CGRectMake(0.0, -4.0, 320.0, 67.0)]autorelease];
[customView setOpaque:YES];
UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(-2.0, -4.0, 328.0, 67.0)];
[image setImage:[UIImage imageNamed:@"header-msg.png"]];
[image setOpaque:YES];
[customView addSubview:image];
UILabel *label1 =[[UILabel alloc] initWithFrame:CGRectMake(10, 5, 100, 12)];
label1.text =@"TWEETS MATCHING:";
label1.textAlignment=UITextAlignmentLeft;
[label1 setTextColor:[UIColor grayColor]];
[label1 setFont:[UIFont fontWithName:@"Helvetica" size:9]];;
[label1 setBackgroundColor:[UIColor clearColor]];
[customView addSubview:label1];
[label1 release];
UILabel *label2 =[[UILabel alloc] initWithFrame:CGRectMake(10, 6, 315, 50)];
label2.text =usernametag;
label2.textAlignment=UITextAlignmentLeft;
[label2 setTextColor:[UIColor blackColor]];
[label2 setFont:[UIFont fontWithName:@"Helvetica-Bold" size:20]];
[label2 setBackgroundColor:[UIColor clearColor]];
[customView addSubview:label2];
[label2 release];
return customView;
}
但是,当我快速滚动表格时,几乎所有情况下标题都会闪烁。如何防止这种闪烁?
答案 0 :(得分:0)
嗨,我想你需要测试它是否已经设置好了。你现在拥有它的方式每次滚动时都会运行上面的代码,这意味着它会被设置很多。
答案 1 :(得分:0)
我遇到过类似的问题。
在我的情况下,原因是在自定义表格单元格内。
在我的自定义表格单元格中,我使用了UITextView
对象,其scrollEnabled
属性设置为 NO
,editable
属性设置为 { {1}} 即可。
probelm链接到scrollEnabled = NO。使用scrollEnabled = YES我没有问题。
但是,由于NO
没有编辑和滚动与UITextView
差别不大,我将UILabel
替换为UITextView
设置UILabel
0.
不要问我为什么。这种方式很有效。 :)
答案 2 :(得分:0)
这是因为您正在更改layoutsubviews中标题的框架。如果删除它,它将被修复。