视网膜屏幕上的IKImageBrowserView

时间:2016-04-18 12:47:37

标签: macos cocoa retina-display ikimagebrowserview

有没有人使用Retina Mac成功使用IKImageBrowserView?我得到的是图像大小被误解了。以前我使用的是没有逻辑大小的CGImage图像,因此浏览器无法以正确的大小绘制它们。但是,我已切换到使用NSImage创建的-initWithCGImage:size:,但仍然无效。

我的图像是244x184像素,应该以122x92的逻辑大小绘制。当传递122x92作为大小时,它们被绘制得太大,大约180像素宽。如果我通过正好一半,61x46,大小是正确的,但图像看起来缩小,而不是锐利。如果我传递122x92并在Info.plist中将NSHighResolutionCapable设置为NO,则一切正常。

我的结论是IKImageBrowserView即使在运行OS X 10.11的Retina MacBook Pro上的10.10 SDK也不兼容Retina。或者我错过了什么?任何指针都将不胜感激!

1 个答案:

答案 0 :(得分:0)

我发现我并没有真正思考正确的方法。浏览器应该始终扩展其图像,这就是为什么Retina大小的图像最终变大。我只是将浏览器子类化为能够使用自定义单元格并自定义每个单元格的图像帧。然而,浏览器中存在一些微妙的错误,导致它在Retina模式下稍微缩放图像,但我能够通过为包含图像的每个单元格创建自定义前景图层来解决这个问题。问题解决了。希望这将有助于将来的其他人。