iOS 8 では、iPhone 6/6 Plus のネイティブ キーボードがランドスケープ モードでいくつかのキーを追加していることに気付きました。しかし、UITextView でアプリを作成すると、キーボードは iPhone 5 と同じ (ファンクション キーなし) です。スクリーンショットのように、キーボードの高さが同じではなく、キーが異なることがわかります。
では、iPhone 6/6 Plus でキーボードの外観をネイティブのものに変更するにはどうすればよいでしょうか?
iOS 8 では、iPhone 6/6 Plus のネイティブ キーボードがランドスケープ モードでいくつかのキーを追加していることに気付きました。しかし、UITextView でアプリを作成すると、キーボードは iPhone 5 と同じ (ファンクション キーなし) です。スクリーンショットのように、キーボードの高さが同じではなく、キーが異なることがわかります。
では、iPhone 6/6 Plus でキーボードの外観をネイティブのものに変更するにはどうすればよいでしょうか?
新しいキーボード レイアウトを取得するには、iPhone 6 および 6 Plus 用の特別な起動イメージを追加する必要があります。
この背後にある理由は、携帯電話が幅 320 ポイントの画面解像度をエミュレートする特別な互換モードでアプリを実行するためです。
画面解像度を出力することで、アプリがそのようなモードで実行されているかどうかを簡単に確認できます。
println("bounds = \(UIScreen.mainScreen().bounds)")
println("nativeBounds = \(UIScreen.mainScreen().nativeBounds)")
指定された起動イメージがない場合、iPhone 6 Plus Simulator の出力は次のようになります。
bounds = (0.0,0.0,320.0,480.0)
nativeBounds = (0.0,0.0,960.0,1440.0)
そして、特別なキーボードはありません
新しい解像度を包括的に理解するには、次の素晴らしいブログ エントリを参照してください: http://www.paintcodeapp.com/news/iphone-6-screens-demystified