iPhone 6 および 6+ デバイスで画像を適切にスケーリングするのに問題があります。私はカスタム キーボード拡張機能に取り組んでおり、イメージを使用してキーをレンダリングしています。
通常モードでは、すべてのデバイスで問題ありません。ズーム モードでは、次の質問によると、さらに画像セットを追加する必要があるようです: Xcode 6 device-specific asset catalog。これは醜いですが、これまでのところ十分に機能しているようです。
追加の頭痛の種として、さらに低い解像度で実行されているように見える特定のアプリに出くわしました。たとえば、LinkedIn アプリ。「ズームモードの写真」でも大きすぎて画面からはみ出してしまいます。iPhone 5 の解像度に近い解像度で実行されているように見えます。
ただし、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
これらの古いアプリにも追加のイメージ セットを提供する必要がありますか? その場合、そのようなアプリが現在実行されていることをどのように検出できますか?