【问题标题】:iPhone 6 / 6+ resolution scaling for keyboard extensioniPhone 6 / 6+ 键盘扩展分辨率缩放
【发布时间】:2015-01-15 21:00:51
【问题描述】:

我无法在 iPhone 6 和 6+ 设备上正确缩放图像。 我正在开发自定义键盘扩展,并使用图像来呈现按键。

在正常模式下,所有设备上一切正常。在缩放模式下,根据以下问题,我似乎需要添加更多图像集:Xcode 6 device-specific asset catalog。这很丑陋,但到目前为止它似乎运行良好。

另外一个令人头疼的问题是,我遇到了某些似乎以更低分辨率运行的应用程序。例如,LinkedIn 应用程序。即使是“缩放模式图片”也显得太大,溢出屏幕。它看起来以更接近 iPhone 5 的分辨率运行 - 960 像素 (320*3) 的图像在 6 岁以上的设备上渲染还可以。

但是 - 当我记录 UIImageView 的宽度时,它在缩放模式和 LinkedIn 应用程序中都返回 375 点。 UIScreen 的 scale 属性似乎也一直是 3。

我是这样记录的:

log.debug("Height: \(self.keyboardView.bounds.height)")
log.debug("Width: \(self.keyboardView.bounds.width)")
log.debug("Screen Width: \(UIScreen.mainScreen().bounds.width)")
log.debug("Screen scale: \(UIScreen.mainScreen().scale)")
log.debug("Screen native scale: \(UIScreen.mainScreen().nativeScale)")

这就是我得到的:

正常

LinkedIn.app

Height: 216.0
Width: 375.0
Screen Width: 414.0
Screen scale: 3.0
Screen native scale: 2.60869565217391

MobileNotes.app

Height: 216.0
Width: 375.0
Screen Width: 414.0
Screen scale: 3.0
Screen native scale: 2.60869565217391

放大

手机笔记

Height: 216.0
Width: 375.0
Screen Width: 375.0
Screen scale: 3.0
Screen native scale: 2.88

领英

Height: 216.0
Width: 375.0
Screen Width: 375.0
Screen scale: 3.0
Screen native scale: 2.88

我是否还需要为这些旧应用提供一组额外的图像 - 如果需要,我如何才能检测到此类应用当前正在运行?

【问题讨论】:

    标签: ios ios8 ios-keyboard-extension


    【解决方案1】:

    似乎检测到这一点的方法在

    override func updateViewConstraints()
    

    您可以在哪里检查

    的值
    self.view.frame.size.width
    

    在旧版应用中为 320。

    【讨论】:

    • 这是最有帮助的,谢谢分享。我有一个关于此事的问题:您是否知道一些旧的“旧版应用程序”仍然可以在应用商店中找到并支持横向模式?我也想在横向测试我的“传统模式”。如果您知道在这种横向遗留应用程序中键盘的宽度是多少,那也会有所帮助。谢谢
    • 对不起 - 我直到现在才看到这个。不幸的是,我不知道任何在横向模式下执行传统模式的应用程序。到目前为止,我遇到的少数遗留应用程序(幸运的是)只是横向的。
    猜你喜欢
    • 2015-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    相关资源
    最近更新 更多