gpt4 book ai didi

objective-c - 当磁盘上的图像发生变化时,如何让 NSImageView 刷新?

转载 作者:行者123 更新时间:2023-12-03 16:47:25 26 4
gpt4 key购买 nike

我有一个 NSImageView 通过其 valuePath 绑定(bind)绑定(bind)到磁盘上的文件。当我将新图像写入该位置时,我希望 NSImageView 显示新图像。我怎样才能做到这一点?

我尝试在 View 绑定(bind)的对象上调用 -didChangeValueForKey:-willChangeValueForKey: ,并声明 +keyPathsForValuesAffecting___ 对象上的方法,但我感觉这些基于 KVO 的方法不会产生影响,因为图像的路径没有改变,只是其内容发生了变化。

我还尝试在更改发生后在 ImageView 上调用 -setNeedsDisplay-updateCell:,但这也不起作用。

更新

在写入新图像之前,我将绑定(bind)对象上的 -imagePath 属性(计算属性)更改为 @"",然后返回正确的路径之后立马。这确实达到了预期的效果,但我希望 API 中存在更正确的方法。感觉就像是黑客攻击。

最佳答案

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

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com