iPhone 6 / 6+ 键盘扩展分辨率缩放
iPhone 6 / 6+ resolution scaling for keyboard extension
我在 iPhone 6 和 6+ 设备上正确缩放图像时遇到问题。
我正在开发自定义键盘扩展,我使用图像来呈现按键。
在正常模式下,所有设备上都正常。在缩放模式下,根据这个问题,我似乎需要添加更多图像集:Xcode 6 device-specific asset catalog。这很丑陋,但到目前为止它似乎运行良好。
令我头疼的是,某些应用程序似乎 运行 的分辨率甚至更低。例如,LinkedIn 应用程序。甚至 "zoomed mode picture" 看起来也太大了,溢出了屏幕。它看起来 运行ning 更接近 iPhone 5 分辨率 - 960px (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
我是否还需要为这些旧应用程序提供一组额外的图像 - 如果需要,我如何检测此类应用程序目前正在 运行ning?
检测这个的方法似乎在
override func updateViewConstraints()
您可以在哪里查看
的值
self.view.frame.size.width
在旧版应用中为 320。
我在 iPhone 6 和 6+ 设备上正确缩放图像时遇到问题。 我正在开发自定义键盘扩展,我使用图像来呈现按键。
在正常模式下,所有设备上都正常。在缩放模式下,根据这个问题,我似乎需要添加更多图像集:Xcode 6 device-specific asset catalog。这很丑陋,但到目前为止它似乎运行良好。
令我头疼的是,某些应用程序似乎 运行 的分辨率甚至更低。例如,LinkedIn 应用程序。甚至 "zoomed mode picture" 看起来也太大了,溢出了屏幕。它看起来 运行ning 更接近 iPhone 5 分辨率 - 960px (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
我是否还需要为这些旧应用程序提供一组额外的图像 - 如果需要,我如何检测此类应用程序目前正在 运行ning?
检测这个的方法似乎在
override func updateViewConstraints()
您可以在哪里查看
的值self.view.frame.size.width
在旧版应用中为 320。