首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除非用户滚动,否则IKImageBrowserView不会刷新

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

Stack Overflow用户
提问于 2012-07-21 03:47:46
回答 1查看 691关注 0票数 1

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-25 23:59:32

尝试使用reloadData方法。

代码语言:javascript
复制
    [browser reloadData];

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

代码语言:javascript
复制
- (void) setImage: (NSImage *) image
{

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

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11586050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档