问题标签 [ikimagebrowserview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - iKImageBrowserView 上的高内存使用率(或创建内存质量缩略图?)
在我目前正在开发的 mac 应用程序中,我有一个iKImageBrowserView
显示 500/1000 图像的东西。
关闭图像显示,内存消耗非常低,大约 50 MB。
打开图像显示,内存消耗非常高,大约 500 MB。
每次我向上/向下滚动时,内存使用量都会增加。
这是一个片段imageBrowser:itemAtIndex
:
wherecoverImage
是从对象缓存中读取的,并且不是每次都初始化。
我怎样才能减少内存使用量?
更新:我尝试使用imageVersion
:来自 DataSourceProtocol,但内存使用率仍然很高。如果我初始化图像但不将它们传递给 ikImageBrowserView 内存不足。
其他更新:我做了另一个测试。每次我分配一个简单的PNG图像的对象。而这一次内存很低。只有当我使用真实图像时才会出现问题。它们是大约 50/100KB 的 JPG。可能当它们被加载到内存中时,它们会解压缩。如何减少 NSImage 的内存使用量?
更新:问题在于 JPEG 的质量。它们在显示时会消耗太多内存。所以问题是:如何在 Cocoa 中生成内存/质量缩略图?
cocoa - IKImageBrowserView:如何显示每个项目的工具提示?
我挖掘了文档,但没有找到怎么做。如何为 IKImageBrowserView 中的每个项目添加工具提示?
cocoa - IKImageBrowserView 延迟加载?
为了使用IKImageBrowserView
,必须使用以下方法实现数据源
NSTableView
这与具有以下数据源方法的没有什么不同
然而,令人不安的区别在于,NSTableView
在调用 之前考虑到当前可见的内容– tableView:objectValueForTableColumn:row:
,IKImageBrowserView
似乎会遍历给定的整个范围– numberOfItemsInImageBrowser:
并要求imageBrowser:itemAtIndex:
. 不幸的是,数据源有时由数十万个项目支持,加载所有不必要的项目是一种可怕的浪费。有没有办法IKImageBrowserView
只加载可见的项目,(当然是预加载)就像那样NSTableView
?
更新
我尝试编写一个NSProxy
子类,它确实有效。(好吧,稍后会详细介绍)它看起来像这样
现在,当 imageBrowser 要求时– imageBrowser:itemAtIndex:
,我会返回
这很好用!确实实现了延迟加载,我不再一次从商店中检索所有对象。然而,在呼吁reloadData
任何意见时,麻烦接踵而至。
这是来自的错误消息NSTableView
IKImageBrowserView
另一方面,如果我调用它,它只会挂在我身上而没有任何错误消息reloadData
。
所以是的,我设法用另一个问题代替了一个问题,c'est la vie?
macos - 如何使 IKImageBrowserView 快速查看图标看起来像 Finder 图标?
IKImageBrowserView提供了一个与 Finder 非常相似的多图像视图(事实上,一个类转储显示 Finder 在内部使用它)。还有一个常量IKImageBrowserQuickLookPathRepresentationType
允许您提供浏览器视图的路径或 URL,它显示为快速查看预览。
但是,这些预览与 Finder 显示的“图标”样式的预览不同:
而是更大的预览:
有没有办法让 IKImageBrowserView 使用图标预览样式,带有卷曲的文档角等?
cocoa - 如何为显示的 IKImageBrowserView 获取 NSBitmapImageRep?
我有一个两格NSSplitView,它的一个子视图是IKImageBrowserView。在使用 CATransition 为NSSplitView设置动画之前,我需要捕获它的位图以交换到位。
usingcacheDisplayInRect
不会捕获IKImageBrowserView内容,但会捕获其他窗格的内容。我认为这可能与IKImageBrowserView拥有自己的图层树有关。
有人可以确认这是真的吗?
关于如何获取视图内容的位图副本有什么建议吗?
renderInContext
不会帮助我,我不认为,因为IKImageBrowserView没有透露引用它的presentationLayer的方法——如果它甚至有一个。
我认为ImageKit是CALayers/CAOpenGLLayers和alchemy的组合。
谢谢。
objective-c - 填充 IKImageBrowserView
我目前正在构建一个显示图标的视图,以及图标右侧的文本标签。经过一番搜索,我决定 IKImageBrowserView 最合适。因此,我继续创建了我的 IKImageBrowserView 并将其数据源设置如下:
我还创建了我的数据源,在协议中实现了两个必需的方法:
但是,当我尝试添加一个项目时(如第一个代码块所示),我的 IKImageBrowserView 中没有显示任何内容。我怀疑我在用这种观点做一些明显不正确的事情。有谁知道那可能是什么?
cocoa - 使用 IKImageBrowserView 快速查看
我知道可以将 IKImageBrowserView 设置为控制 QuickLook 面板,但是如何以编程方式显示该面板?
谢谢
cocoa - 是否可以以编程方式在 Cocoa 中打印 IKImageBrowserView?
我想用(内容)图像打印 IKImageBrowserView 。我尝试了以下代码
因为IKImageBrowserView
是继承自,NSView
但打印预览显示空图像。请帮我解决这个问题。提前致谢.....
objective-c - IkImageBrowserView 错误
我有一个 IkImageBrowserView 实例,用于在我的应用程序中显示文件中的图片。一切正常,但用另一个视图替换它。
我做了一些实验,发现这个消息不会导致应用程序崩溃。而不是每次我用其他视图替换浏览器视图时都会发生。有时我关闭视图,消息也会出现。下面的代码是 browserView 项。根据错误消息,它可能是由图像缓存引起的..但我找不到问题所在
cocoa - 自定义 IKImageBrowserView 组外观时烦人的三角形
我正在尝试更改 IKImageBrowserView 的组标题的外观。我已经看到我们可以使用 IKImageBrowserGroupHeaderLayer 提供自定义 CALayer
但每次我这样做时,我都会被这个小三角形卡住,它会显示出来并且动画不正确
你对此有什么指示吗?它是一个错误吗?有解决方法吗?
谢谢 :)