带有Checkmark的UITableViewCell不可见

ale*_*ngn 6 objective-c uitableview ios

我在PopoverController中的UITableView有问题.当我触摸单元格时,调用didSelectRowAtIndexPath函数,并更改单元格accessoryType.简化示例:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [self.listItems objectAtIndex:indexPath.row];
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
    [self.tableView reloadData];
    [self.popoverController dismissPopoverAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)

它正在工作,单元格被检查,但在我的tableview上看不到:我看不到蓝色的复选标记.但是,在单元格上的触摸状态下,复选标记以白色显示(并且单元格背景为灰色).但在默认状态下不可见.

你知道为什么我的复选标记在默认状态下不可见吗?

谢谢,

编辑:为一个单元格添加屏幕截图 accessoryType = UITableViewCellAccessoryCheckmark

在此输入图像描述

小智 10

当我将全局色调颜色更改为白色时,这发生在我身上.一旦我意识到,我进入UITableView并在本地更改色调颜色.固定.


Rui*_*res 0

您正在重新加载,UITableView因此理论上单元格将被重新创建,并且这次没有复选标记。请执行下列操作:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [self.listItems objectAtIndex:indexPath.row];
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
    [self.popoverController dismissPopoverAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)