gpt4 book ai didi

iphone - UITableView 滚动问题

转载 作者:行者123 更新时间:2023-12-03 21:19:49 24 4
gpt4 key购买 nike

我在我的应用程序中创建了一个 TableView,其中包含 5 个部分。

第 1 - 4 部分仅包含一分钟的一行,第 5 部分包含 5 行。

一切正常,直到我将 TableView 滚出屏幕。在我的第一个部分和行(单元格)中,我将accessoryView设置为UILabel,其中包含一些文本。

每个其他单元格都将公开按钮作为附件类型。

当我滚动 tableView 时,第一个单元格中的文本不知何故出现在最后一个单元格中!?

我通过将 NSString 添加到数组,然后将它们作为字典添加到 NSMutableArray 来设置数据。

这是我的单元设置:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";

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

// UISwitch *aUISwitch = [[[UISwitch alloc]initWithFrame:CGRectZero]autorelease];

// Configure the cell.

NSDictionary *dictionary = [listOfSettings objectAtIndex:indexPath.section];
NSArray *array = [dictionary objectForKey:@"Settings"];
NSString *cellValue = [array objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;

if([cellValue isEqualToString:@"Status"]){
UILabel *viewLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 20)];
[viewLabel setText:@"Connected"];
cell.accessoryView = viewLabel;
[viewLabel release];

}
else{
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
}
return cell;
}

我知道单元格在离开屏幕时会被删除/移除,所以我认为这与此有关?处理离开屏幕并重新出现的单元格的推荐做法是什么?

最佳答案

乍一看...在else语句中,不仅需要设置cell.accessoryType,还需要设置cell.accessoryView=nil;

当单元格被回收时,accesoryView 仍然存在。

关于iphone - UITableView 滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5833889/

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