was*_*sim 5 xcode uitableview ios
我做了一个tableView,我需要选择多个选项.选项被选中,但是当我滚动表格视图时,复选标记选项消失,其他一些行显示该复选标记.这是我在代码didselectedrowAtindex的方法table_option是UITableView和selectedcells是NSMutableArray
[table_option deselectRowAtIndexPath:indexPath animated:YES];
NSNumber *rowNsNum = [NSNumber numberWithUnsignedInt:indexPath.row];
if ( [selectedCells containsObject:rowNsNum] )
{
if (cell.accessoryType == UITableViewCellAccessoryCheckmark)
cell.accessoryType = UITableViewCellAccessoryNone;
else
cell.accessoryType = UITableViewCellAccessoryCheckmark;
[selectedCells removeObject:rowNsNum];
sel.text=@"Select";
// cell.accessoryType = UITableViewCellAccessoryNone;
}
else
{
if (cell.accessoryType == UITableViewCellAccessoryCheckmark)
cell.accessoryType = UITableViewCellAccessoryNone;
else
cell.accessoryType = UITableViewCellAccessoryCheckmark;
[selectedCells addObject:rowNsNum];
sel.text=@"Selected";
// cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
[table_option reloadData];
Run Code Online (Sandbox Code Playgroud)
请尽快帮忙
Mid*_* MP 12
您需要检查方法中是否已选择单元格cellForRowAtIndexPath.出现此问题的原因是tableView重新使用单元格.请在您的cellForRowAtIndexPath方法中写下以下代码,它将解决问题.
NSNumber *rowNsNum = [NSNumber numberWithUnsignedInt:indexPath.row];
if ( [selectedCells containsObject:rowNsNum] )
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
else
{
cell.accessoryType = UITableViewCellAccessoryNone;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3386 次 |
| 最近记录: |