gpt4 book ai didi

ios - tableView 刷新时丢失自定义数据

转载 作者:行者123 更新时间:2023-12-01 16:42:13 24 4
gpt4 key购买 nike

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

ItemsCustomCell *cell;
static NSString *CellIdentifier = @"Cell";
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[ItemsCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ItemsCustomCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
cell.itemName.text=titles[indexPath.row];

[ cell.addButton setBackgroundImage:[UIImage imageNamed:@"add_btn.png"] forState:UIControlStateNormal];
[cell.addButton addTarget:self action:@selector(Checktag:event:)forControlEvents:UIControlEventTouchUpInside];
cell.cellBackgroudImage.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"list_bg.png"] ];


NSArray *anArrayOfIndexPath = [NSArray arrayWithArray:[self.itemsTableView indexPathsForVisibleRows]];

NSIndexPath *indexPathVisibleRowsLast= [anArrayOfIndexPath lastObject];

[ cell.addButton setBackgroundImage:[UIImage imageNamed:@"add_btn.png"] forState:UIControlStateNormal];
int firstVisible=(indexPathVisibleRowsLast.row)-8;
CGPoint offset = itemsTableView.contentOffset;
CGRect bounds = itemsTableView.bounds;
CGSize size = itemsTableView.contentSize;
UIEdgeInsets inset = itemsTableView.contentInset;
float y = offset.y + bounds.size.height - inset.bottom;
float h = size.height;
float reload_distance = 10;

}
}
return cell;

}

此代码用于在单击时更改单元格 .button 的图像
- (void)Checktag:(id)sender event:(id)event 
{
UIButton *btnClicked=(UIButton *)sender;
NSLog(@"%i",btnClicked.tag);
[ btnClicked setBackgroundImage:[UIImage imageNamed:@"tick_btn.png"]
forState:UIControlStateNormal];
NSSet *touches = [event allTouches];
UITouch *touch = [touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:itemsTableView];
NSIndexPath *indexPath = [itemsTableView indexPathForRowAtPoint: currentTouchPosition];

NSString *title=titles[indexPath.row];
NSString *id1=idAll[indexPath.row];
[mySelectedItems addObject:title];
[idSelectedItems addObject:id1];
NSLog(@"value of indePath.section %d ,indexPath.row %d",indexPath.section,indexPath.row);
}

当表刷新时,所有图像的更改都设置为默认值

最佳答案

查看代码的最后几行

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

ItemsCustomCell *cell;
static NSString *CellIdentifier = @"Cell";
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[ItemsCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ItemsCustomCell" owner:self options:nil];
cell = [nib objectAtIndex:0];


[ cell.addButton setBackgroundImage:[UIImage imageNamed:@"add_btn.png"] forState:UIControlStateNormal];
[cell.addButton addTarget:self action:@selector(Checktag:event:)forControlEvents:UIControlEventTouchUpInside];
cell.cellBackgroudImage.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"list_bg.png"] ];


NSArray *anArrayOfIndexPath = [NSArray arrayWithArray:[self.itemsTableView indexPathsForVisibleRows]];

NSIndexPath *indexPathVisibleRowsLast= [anArrayOfIndexPath lastObject];

[ cell.addButton setBackgroundImage:[UIImage imageNamed:@"add_btn.png"] forState:UIControlStateNormal];
int firstVisible=(indexPathVisibleRowsLast.row)-8;
CGPoint offset = itemsTableView.contentOffset;
CGRect bounds = itemsTableView.bounds;
CGSize size = itemsTableView.contentSize;
UIEdgeInsets inset = itemsTableView.contentInset;
float y = offset.y + bounds.size.height - inset.bottom;
float h = size.height;
float reload_distance = 10;

}
cell.itemName.text=titles[indexPath.row];

if ([idSelectedItems containsObject:indexPath])
{
[ cell.addButton setBackgroundImage:[UIImage imageNamed:@"tick_btn.png"]
forState:UIControlStateNormal];
}

}

关于ios - tableView 刷新时丢失自定义数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23292137/

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