【发布时间】:2011-06-24 16:11:08
【问题描述】:
我可能做错了,所以希望有人能告诉我应该怎么做。
我构建了一个表格视图来充当图例和颜色选择器。在 AccessoryView 插槽中,我放置了一个自定义视图,它只是一个彩色框。用户将显示图例,因此他们知道什么颜色意味着什么,他们可以选择一种颜色,然后通过将该颜色分配给对象来“着色”绘图。所有这些都很好。
我遇到的问题是选定的行样式。当我从图例中选择一行时,单元格会变成蓝色,就像它应该的那样,但我的 AccessoryView 现在已经消失了。我不希望这种情况发生。但是,我不知道要设置什么使它不会消失。请记住,我仍然希望一行显示为“已选择”。但无论如何,我的附件视图都会消失(很可能被所选颜色隐藏)。
这是我现在设置附件视图的方式。
CGRect colorBox = CGRectMake(0, 0, 30, 30);
UIView *colorView = [[UIView alloc] initWithFrame:colorBox];
colorView.backgroundColor = [self colorWithHexString:[selOption valueForKey:@"qoColor"]];
cell.accessoryView = colorView;
【问题讨论】:
-
你是用
cell.accessoryView = myColorBox;这样的代码来设置配件吧? -
你没有做任何明显错误的事情。您使用的是股票 UITableViewCell 还是自定义子类?尝试创建一个仅将自定义附件视图放入表中的最小项目,看看是否有同样的问题。
-
附件视图在哪里设置?这可能是问题
-
我在 Table View 的 tableView cellForRowAtIndexPath 中设置了附件视图,其中添加了单元格。这是一个库存的 UITableViewCell,我在其中设置单元格的 TextLabel 和 AccessoryView。
标签: objective-c accessoryview tableviewcell