gpt4 book ai didi

iPhone:设置自定义单元格的附件时出现问题

转载 作者:行者123 更新时间:2023-12-01 17:00:52 26 4
gpt4 key购买 nike

第一次加载页面时,我无法设置自定义单元格附件 View ,有什么想法吗?

在 DetailView customcell 的类中,我有这个:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
if(self.selected)
self.accessoryType=UITableViewCellAccessoryCheckmark;
else
self.accessoryType=UITableViewCellAccessoryNone;
}

在 tableview Controller 中:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {    

DetailViewCell *cell = [DetailViewCell cellForTableView:tableView];

if(somelogichere){
[cell setSelected:YES];
}
return cell;
}

我调试并点击那条线,所以逻辑是正确的,但在调试中我还看到,在它设置附件之后,它再次调用两次选定的方法,这在第二次调用中将附件覆盖为 none。 setSelected 导致所选方法被调用两次,并在第二次调用时以某种方式覆盖第二次调用的设置 self.selected 返回 false;

更新:我通过在自定义单元格类中创建 bool cellSelected 属性并更改和检查其状态而不是设置和更改单元格的选定属性来解决问题,这也是更好的原因,因为我可以更好地支持多选 TableView 的 future 。

最佳答案

它在 View 加载后第二次工作吗?

它很可能与以下行有关:

  if(somelogichere){            
[cell setSelected:YES];
}

什么是 somelogichere ?

取决于 somelogichere您的 selected第一次运行代码时,属性可能不正确:
if(self.selected)
self.accessoryType=UITableViewCellAccessoryCheckmark;
else
self.accessoryType=UITableViewCellAccessoryNone;

确保设置单元格的 selected一开始的属性(property)。或更改 setSelected 中的代码.

高温高压

关于iPhone:设置自定义单元格的附件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077196/

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