gpt4 book ai didi

ios - UITableviewcell cell.textlabel.text 在滚动 tableview 时重复?如何避免 cell.textlabel.text 重复?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:38:23 26 4
gpt4 key购买 nike

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

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

cell.selectionStyle = UITableViewCellSelectionStyleBlue;

if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

cell.textLabel.textColor=[UIColor blackColor];
cell.textLabel.font=[UIFont fontWithName:@"Helvetica Neue" size:14.0];


if (indexPath.section == 0) {
switch (indexPath.row) {
case 0:
cell.textLabel.text=@"Sub-Scheme 1";
break;

case 1:
cell.textLabel.text=@"Sub-Scheme 2";
break;

case 2:
cell.textLabel.text=@"Sub-Scheme 3";
break;

case 3:
cell.textLabel.text=@"Sub-Scheme 4";
break;
case 4:
cell.textLabel.text=@"Sub-Scheme 5";
break;


default:
break;
}
}else{
cell.textLabel.text=@" ";

}

return cell;
}

最佳答案

您必须使用 dequeueReusableCellWithIdentifier: 重用单元格以获得更好的性能和内存优化。

您的核心问题是另外一回事。在重新使用它之前,您没有重置单元格。我建议您在出列操作后重置单元格文本标签,例如 cell.textLabel.text = @"" 然后在您的开关中设置您的标签。

我建议您在改用不重复使用单元格之前尝试一次。

基本上,您的代码应该是这样的:

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

static NSString *cellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

cell.selectionStyle = UITableViewCellSelectionStyleBlue;

if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}

cell.textLabel.textColor = [UIColor blackColor];
cell.textLabel.font = [UIFont fontWithName:@"Helvetica Neue" size:14.0];
cell.textLabel.text = @""; // Reset Text Label before re-using

... rest of your code...
}

关于ios - UITableviewcell cell.textlabel.text 在滚动 tableview 时重复?如何避免 cell.textlabel.text 重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096004/

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