gpt4 book ai didi

iphone - UITableview 中的第一行,与其他行不同

转载 作者:行者123 更新时间:2023-12-03 19:31:13 25 4
gpt4 key购买 nike

我的 UITableView 需要在第一行有一个图像。有什么问题?当用户向下滚动表格 View ,然后向上滚动时,在图像上有其他行的信息!你知道为什么吗?

这是我的代码(我正在使用 UITableViewCell)

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row != 0) {
return 73.0;
}
else {
return 109.0;
}
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
if (indexPath.row == 0) {
[[NSBundle mainBundle] loadNibNamed:@"customcell_3" owner:self options:NULL];
cell = cellaNib_with_image;
}
else {
[[NSBundle mainBundle] loadNibNamed:@"customcell_2" owner:self options:NULL];
cell = cellaNib;
}


}

if (indexPath.row == 0) {
UIImage *rowBackground;
UIImage *selectionBackground;
rowBackground = [UIImage imageNamed:@"image.png"];
selectionBackground = [UIImage imageNamed:@"image.png"];
cell.backgroundView = [[[UIImageView alloc] init] autorelease];
((UIImageView *)cell.backgroundView).image = rowBackground;
cell.selectedBackgroundView = [[[UIImageView alloc] init] autorelease];
((UIImageView *)cell.selectedBackgroundView).image = selectionBackground;

}
else {
NSString *elemento = [NSString stringWithFormat:@"%@", [array objectAtIndex:indexPath.row]];
UILabel *testoLabel = (UILabel*)[cell viewWithTag:1];
testoLabel.text = elemento;
//ecc... here a take the other datas
}
return cell;
}

谢谢!

最佳答案

当单元格滚动时,它们会被重用。

因此,第一个小区可以被其他小区重用,反之亦然。

我将使用两个 CellIdentifiers,一个用于第一行,第二个用于其余行。

如果indexPath.row == 0,则使用CellID1创建/出列单元格,并配置它并返回。

如果indexPath.row >1,则使用CellID2创建/出列,配置它并返回。

如果您想继续使用单个cellID,那么在配置它们之前,请先将所有内容置零/重置,以便删除以前的数据。

关于iphone - UITableview 中的第一行,与其他行不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5289020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com