我在我正在构建的MonoTouch应用程序中创建了一个自定义UITableViewCell。在细胞内我成功地设置了:
Accessory = UITableViewCellAccessory.DisclosureIndicator;
但是,当我尝试更改AccessoryView的背景颜色时,我的应用程序因为AccessoryView为空而崩溃:
AccessoryView.BackgroundColor = UIColor.White;
事实上,单元格中唯一不为null的视图是ContentView。
任何人都知道为什么AccessoryView是空的?
答案 0 :(得分:3)
Accessory
和AccessoryView
属性是相关的,但不会相互更改。
当您在AccessoryView
中设置自己的自定义视图时,Accessory
将忽略UITableViewCell
的值。
任何人都知道为什么AccessoryView是空的?
同样,如果您设置Accessory
,那么您不会访问 stock 视图(通过AccessoryView
属性)和事件时支持,例如DisclosureButton
的触摸事件将成为单元格(因为您无法访问该视图)。
如果您想要一个自定义配件视图,那么您可以自己创建一个并将其分配给AccessoryView
属性。
答案 1 :(得分:1)
我最初的问题是我在细胞中添加了一个附件,但该附件的背景与细胞其余部分的背景不同。它得到了基础表视图的背景,这不是我想要的。当我尝试将AccessoryView.Background颜色设置为我想要的颜色时(认为这是罪魁祸首),AccessoryView为空。
我最终要解决的问题是创建一个具有我想要的背景颜色的新UIView并将其设置为我的单元格BackgroundView(因为最初也是null)。这解决了我的问题,我的细胞到处都有正确的颜色。