我已经通过NSImageView绑定将valuePath绑定到磁盘上的文件。当我将新图像写到该位置时,我希望NSImageView显示新图像。我该怎么做?

我尝试在绑定视图的对象上调用-didChangeValueForKey:-willChangeValueForKey:,并在该对象上声明一个+keyPathsForValuesAffecting___方法,但是我感到这些基于KVO的方法没有影响,因为图像的路径没有改变,只是其内容没有改变。

更改之后,我还尝试在图像视图上调用-setNeedsDisplay-updateCell:,但这也不起作用。

更新资料

在写新图像之前,我将绑定对象上的-imagePath属性(计算所得的属性)立即更改为@"",然后紧接着又返回了正确的路径。这确实达到了预期的效果,但是我希望API中提供一种更正确的方法。感觉就像是骇客。

最佳答案

设置一个不同的值(空字符串@""),然后恢复原始值。

关于objective-c - 当磁盘上的镜像更改时,如何使NSImageView刷新?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11480391/

10-11 22:49
查看更多