[英]UITableView deselect selected cells after editing
我在UITableView中选择了多个单元格,但是在编辑后它们会自动取消选择。 我搜索了一下,然后看到有人说他们叫“ reloadData”,这导致选择被删除,但是除了“ viewDidAppear”中的任何地方,我都没有调用reloadData。 即使取消编辑却不做任何更改,它们也会被取消选择(单击工具栏中的“编辑”按钮,然后单击“完成”按钮而不进行任何编辑)。 我不确定这是哪里发生的。 或者,如果我可以检测到编辑何时完成(单击“完成”按钮时),则可以简单地重新选择所有已选择的单元格,但是我不确定如何检测到它。我防止单元格被取消选择吗? 还是在编辑后重新选择单元格?
提前致谢。
我假设您正在尝试在按钮按下时实现选择和取消选择,如果您试图在UITableViewCell中更改选择状态,请尝试在按钮操作中使用该方法。
-(IBAction) someAction {
if(buttonToggled){
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
}else{
//Do something
}
}
用于更改backgroundColor。
cell.selectionStyle = UITableViewCellSelectionStyleGray;
cell.selectedBackgroundView.backgroundColor=[UIColor blackColor];
有关以上内容的更多信息,请检查链接。
我建议最好的选择就是在每次按“完成”按钮后自己重新选择它们。
取消选中单元格或取消按下按钮是很正常的,因为这是它们的正常状态-如您编写自己的代码来更改此状态(例如您的情况)。
这是选择行的方法:
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
如果您可以选择多个行,请确保具有相应的设置,否则可能总是取消选择除最近的行以外的所有行。
没关系。 我发现,只要单击“编辑”或“完成”按钮,就会调用- (void)setEditing:(BOOL)editing animated:(BOOL)animated
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.