我有一个带有两个列的nsarrayController绑定到NSArrayController的nstableView。一列绑定到数组控制器的布置对象并显示一个字符串。

我想在另一列中显示图像,但我无法使其正常工作。我将NSimageCell拖到列并用手设置图像,但在运行时不会显示。我已经进行了仔细检查,并且图像在我的资源目录中。

我想念什么吗?我还应采取什么措施使该图像出现?

有帮助吗?

解决方案

因此,您想为每行出现相同的图像吗?这就是为什么您要“手工”设置它?为此,您可以将NstableViewDataSource方法与绑定混合。这个想法是您的字符串列会像往常一样绑定,但是您的图像列没有绑定。它具有标识符集(例如“ ImageColumn”)。然后,您使用numberOfrowsIntableView:and tableView:objectValuefortableColumn:row:提供数组控制器的对象计数(因此它具有正确的行数),并且在要求右列的值时始终返回静态图像(检查ID(检查ID)对于您的“想象列”),否则将零返回。

如果图像不是静态的(也就是说,您想将其用作某种指标),则可以使用上述方法(返回基于图像的某些值)或绑定。要使用绑定,您可以将属性添加到阵列控制器所持有的任何类,例如“状态”(数字)。然后,您将使用自定义NSVALUETRANSFORMER,将状态编号转换为相应的图像。您的列将使用值变压器绑定到数组控制器的已安装Obdobjects.status(请参阅NSVALUETRANSFORMER有关使用的说明 - 您必须注册它,然后使用其名称)。结果是您的列中的图像,与某个状态相对应。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top