分割ビューコントローラにあるビューコントローラに含まれているUIWebViewは、CSS3メディアクエリの観点から、幅768ピクセルのビューポートを備えたポートレートモードであると報告しているようです。
このバグ/機能を再現するために、最小限のテストケースアプリをいくつか作成しました。WebビューがウィンドウのルートビューであるViewControllerにある場合は存在しません。分割ビューコントローラーがタブバーコントローラー内にある場合も表示されません。分割ビューコントローラの詳細ペイン内のタブバーコントローラ内にWebビューベアリングビューコントローラを配置して、このバグを回避することもできます。
ただし、ウィンドウのルートビューであり、メディアクエリを適切に処理する詳細ビューコントローラーを含む分割ビューコントローラーが必要です。誰かがこれを達成する方法を知っていますか?
私はもう試した:
- 詳細ビューコントローラの
parentViewController
プロパティを上書きする(戻り値nil
) - 詳細ビューコントローラの
splitViewController
プロパティを上書きする(同上) - 詳細ビューコントローラの
didRotateToInterfaceOrientation
メソッドをオーバーライドする - 詳細ビューコントローラの
willRotateToIntefaceOrientation
メソッドをオーバーライドする
私は調査しています:
- 別のメディアクエリを使用する
- サードパーティの分割ビュー置換(MGSplitViewControllerなど)を使用する
- JavaScriptを使用して適切なスタイルシートを手動で挿入する
誰かがこの問題に遭遇し、解決策を見つけた場合は、私に知らせてください。