gpt4 book ai didi

cocoa - 除非用户滚动,否则 IKImageBrowserView 不会刷新

转载 作者:行者123 更新时间:2023-12-03 17:14:13 26 4
gpt4 key购买 nike

我们有一个显示一堆图像的 IKImageBrowserView。我们在后台异步下载这些图像并将它们缓存到磁盘。然后,我们使用 KVC 通知 IKImageBrowserView imageRepresentation 已更改。例如didSetValueForKey:@“ImageRepresentation”。然而,如果用户 ScrollView (我们将 IKImageBrowserView 嵌入到 NSScrollView 中),IKImageBrowserView 看起来只会刷新自身以加载最近下载的图像。为什么会这样呢?是否有强制 IKImageBrowserView 重绘某个单元格或所有可见单元格而不等待用户 ScrollView ?

最佳答案

尝试使用 reloadData 方法。

    [browser reloadData];

我也遇到过类似的情况,我使用 IKImageBrowserView 来查看正在下载的图像。就我而言,我使用占位符图像创建初始图像集,然后下载该图像。每次进入时,我都会使用不同的图像更新数据源条目,增加图像版本号,然后在浏览器上使用 reloadData 方法。我还关闭了动画,以便用户看不到整个浏览器重绘,只能看到已更新的图像。

- (void) setImage: (NSImage *) image
{

[img release];
img = image;
[img retain];
imageVersion++;
}

上面是我的数据项的 setter 方法,它实现了非正式协议(protocol)。

https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/IKImageBrowserItem_Protocol/IKImageBrowserItem_Reference.html

关于cocoa - 除非用户滚动,否则 IKImageBrowserView 不会刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11586050/

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