MonoTouch Custom UITableViewCell AccessoryView是Null

时间:2012-07-24 21:22:04

标签: ios uitableview xamarin.ios accessoryview

我在我正在构建的MonoTouch应用程序中创建了一个自定义UITableViewCell。在细胞内我成功地设置了:

Accessory = UITableViewCellAccessory.DisclosureIndicator;

但是,当我尝试更改AccessoryView的背景颜色时,我的应用程序因为AccessoryView为空而崩溃:

AccessoryView.BackgroundColor = UIColor.White;

事实上,单元格中唯一不为null的视图是ContentView。

任何人都知道为什么AccessoryView是空的?

2 个答案:

答案 0 :(得分:3)

AccessoryAccessoryView属性是相关的,但不会相互更改。

当您在AccessoryView中设置自己的自定义视图时,Accessory将忽略UITableViewCell的值。

  

任何人都知道为什么AccessoryView是空的?

同样,如果您设置Accessory,那么您不会访问 stock 视图(通过AccessoryView属性)和事件时支持,例如DisclosureButton的触摸事件将成为单元格(因为您无法访问该视图)。

如果您想要一个自定义配件视图,那么您可以自己创建一个并将其分配给AccessoryView属性。

答案 1 :(得分:1)

我最初的问题是我在细胞中添加了一个附件,但该附件的背景与细胞其余部分的背景不同。它得到了基础表视图的背景,这不是我想要的。当我尝试将AccessoryView.Background颜色设置为我想要的颜色时(认为这是罪魁祸首),AccessoryView为空。

我最终要解决的问题是创建一个具有我想要的背景颜色的新UIView并将其设置为我的单元格BackgroundView(因为最初也是null)。这解决了我的问题,我的细胞到处都有正确的颜色。