【问题标题】:How to know if the Mac has retina?如何知道 Mac 是否有视网膜?
【发布时间】:2012-07-02 13:00:31
【问题描述】:

我有以下代码用于更改按钮的图像:

- (void)mouseEntered:(NSEvent *)event {
    [self setImage:[NSImage imageNamed:@"FloatingButton_hover"]]; }

- (void)mouseExited:(NSEvent *)event {
    [self setImage:[NSImage imageNamed:@"FloatingButton_normal"]]; }

但我的资源中有这 2 个的 @2x 图像。我怎么知道Mac是否有视网膜,所以我可以[self setImage:[NSImage imageNamed:@"FloatingButton_normal@2x"]]?或者有没有其他方法?
谢谢

【问题讨论】:

    标签: image macos cocoa retina-display


    【解决方案1】:

    您不必这样做。只需将您的 @2x 版本放在同一个文件夹中,Cocoa 将负责其余的工作。您可以通过进入HiDPI 模式来测试它是否真的有效。

    我推荐看Introduction to High Resolution on OS X

    【讨论】:

    • 不幸的是,HiDPI 模式无法在我的 Mac 上运行。顺便说一句,只是为了澄清,即使我正在编码并且我写 [self setImage:[NSImage imageNamed:@"FloatingButton_hover"]] 如果 Mac 有 Retina,可可会自动选择 FloatingButton_hover@2x,是这样吗?
    • 是的。但我仍然强烈建议您阅读一些文档或观看上面的视频以了解所有详细信息。
    猜你喜欢
    • 2013-09-03
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多