在此代码中,当我的UITableView
加载'lineImage时,在单元格的末尾显示图像,但是当我滚动tableview时,一些行的图像正在消失,而一些图像仍然存在。任何帮助?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UILabel *preferenceLabel;
UILabel *line1Label;
UILabel *line2Label;
UIImageView *lineImage;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
lineImage = [[UIImageView alloc] initWithFrame:CGRectMake(10.0, 70.0, 320.0, 2.0)];
lineImage.contentMode = UIViewContentModeScaleAspectFit;
lineImage.image = [UIImage imageNamed:@"seperator bar.png"];
lineImage.tag = 1;
[cell.contentView addSubview:lineImage];
[lineImage release];
preferenceLabel = [appDelegate newLabelWithFrame:CGRectMake(10.0, 5.0, 234.0, 20.0) PrimaryColor:[UIColor blackColor] selectedColor:[UIColor blackColor]
fontSize:14.0 fontName:@"Verdana" bold:NO noOfLines:1];
preferenceLabel.tag = 2;
[cell.contentView addSubview:preferenceLabel];
[preferenceLabel release];
line1Label=[appDelegate newLabelWithFrame:CGRectMake(10.0,20.0,234.0,20.0) PrimaryColor:[UIColor blueColor] selectedColor:[UIColor blackColor] fontSize:14.0 fontName:@"Verdana" bold:NO noOfLines:1];
line1Label.tag = 3;
[cell.contentView addSubview:line1Label];
[line1Label release];
line2Label=[appDelegate newLabelWithFrame:CGRectMake(10.0,35.0,234.0,20.0) PrimaryColor:[UIColor blueColor] selectedColor:[UIColor blackColor] fontSize:14.0 fontName:@"Verdana" bold:NO noOfLines:1];
line2Label.tag = 4;
[cell.contentView addSubview:line2Label];
[line2Label release];
}
else {
lineImage = (UIImageView *) [cell.contentView viewWithTag:1];
preferenceLabel = (UILabel *)[cell.contentView viewWithTag:2];
line1Label = (UILabel *)[cell.contentView viewWithTag:3];
line2Label = (UILabel *)[cell.contentView viewWithTag:4];
}
// Configure the cell...
cell.selectionStyle = UITableViewCellSelectionStyleNone;
preferenceLabel.text = @"Preference Label ";
line1Label.text=@"Line1 Label";
line2Label.text=@"Line2 Label";
return cell;
}
答案 0 :(得分:0)
当您使用[UIImage imageNamed:]时,您不必释放它,因为您没有自己分配...
答案 1 :(得分:0)
你确定你的lineImage完全在你的细胞范围内吗? (你的rowHeight是> = 72.0)如果不是,你的单元格可能会重叠某些内容并遮挡lineImage。
答案 2 :(得分:0)
地点
lineImage.image = [UIImage imageNamed:@"seperator bar.png"];
之后的代码
cell.selectionStyle = UITableViewCellSelectionStyleNone;
答案 3 :(得分:0)
我认为不是为分隔符添加imageview,我很高兴使用它。
mailSubscritionTable.separatorColor = [UIColor blueColor];
tableView.tableFooterView = [[[UIView alloc] init] autorelease];
答案 4 :(得分:0)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UILabel *preferenceLabel;
UILabel *line1Label;
UILabel *line2Label;
UIImageView *lineImage;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
lineImage = [[UIImageView alloc] initWithFrame:CGRectMake(10.0, 70.0, 320.0, 2.0)];
lineImage.contentMode = UIViewContentModeScaleAspectFit;
//removed a line of code and added at the end
lineImage.tag = 1;
[cell.contentView addSubview:lineImage];
[lineImage release];
preferenceLabel = [appDelegate newLabelWithFrame:CGRectMake(10.0, 5.0, 234.0, 20.0) PrimaryColor:[UIColor blackColor] selectedColor:[UIColor blackColor]
fontSize:14.0 fontName:@"Verdana" bold:NO noOfLines:1];
preferenceLabel.tag = 2;
[cell.contentView addSubview:preferenceLabel];
[preferenceLabel release];
line1Label=[appDelegate newLabelWithFrame:CGRectMake(10.0,20.0,234.0,20.0) PrimaryColor:[UIColor blueColor] selectedColor:[UIColor blackColor] fontSize:14.0 fontName:@"Verdana" bold:NO noOfLines:1];
line1Label.tag = 3;
[cell.contentView addSubview:line1Label];
[line1Label release];
line2Label=[appDelegate newLabelWithFrame:CGRectMake(10.0,35.0,234.0,20.0) PrimaryColor:[UIColor blueColor] selectedColor:[UIColor blackColor] fontSize:14.0 fontName:@"Verdana" bold:NO noOfLines:1];
line2Label.tag = 4;
[cell.contentView addSubview:line2Label];
[line2Label release];
}
else {
lineImage = (UIImageView *) [cell.contentView viewWithTag:1];
preferenceLabel = (UILabel *)[cell.contentView viewWithTag:2];
line1Label = (UILabel *)[cell.contentView viewWithTag:3];
line2Label = (UILabel *)[cell.contentView viewWithTag:4];
}
// Configure the cell...
cell.selectionStyle = UITableViewCellSelectionStyleNone;
lineImage.image = [UIImage imageNamed:@"seperator bar.png"];//changes
preferenceLabel.text = @"Preference Label ";
line1Label.text=@"Line1 Label";
line2Label.text=@"Line2 Label";
return cell;
}
请查看上面的代码行。我们对您的代码进行了细微更改并进行了更新。