我有自定义的UITableViewCell,并且此代码可在单击行时创建附件
public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
if (this.checkedIndexPath != null)
{
var uncheckCell = tableView.CellAt(checkedIndexPath) as UITableViewCell;
if (uncheckCell != null)
{
uncheckCell.Accessory = UITableViewCellAccessory.None;
}
}
if (tableView.CellAt(indexPath) is UITableViewCell cell)
{
cell.Accessory = UITableViewCellAccessory.Checkmark;
}
this.checkedIndexPath = indexPath;
}
我有问题。当我第一次单击单元格时。附件类型不变。当我单击另一个单元格时,附件类型会更改。但是,除非单击表中的另一个单元格,否则第二次单击鼠标的附件类型不会更改。
答案 0 :(得分:0)
您需要重新加载当前单元格以使更改生效
tableView.ReloadRows(indexPath, UITableViewRowAnimation.None);
在代码末尾添加它
public override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
if (this.checkedIndexPath != null)
{
var uncheckCell = tableView.CellAt(checkedIndexPath) as UITableViewCell;
if (uncheckCell != null)
{
uncheckCell.Accessory = UITableViewCellAccessory.None;
}
}
if (tableView.CellAt(indexPath) is UITableViewCell cell)
{
cell.Accessory = UITableViewCellAccessory.Checkmark;
}
this.checkedIndexPath = indexPath;
//Reload current cell
tableView.ReloadRows(indexPath, UITableViewRowAnimation.None);
}