似乎 UIWebView 包含在拆分视图控制器中的视图控制器中,Web 视图报告自己处于纵向模式,从 CSS3 媒体查询的角度来看具有 768 像素宽的视口。
我已经构建了几个最小测试用例应用程序来重现此错误/功能。当 Web 视图位于作为窗口根视图的视图控制器中时,它不存在。如果拆分视图控制器位于选项卡栏控制器内,它也不存在。您甚至可以将 web-view-bearing 视图控制器放置在拆分视图控制器的详细信息窗格内的选项卡栏控制器内,并避免此错误。
但是,我想简单地拥有一个拆分视图控制器,它是窗口的根视图,并包含一个详细视图控制器,它仍然正确地尊重媒体查询。有谁知道实现这一目标的方法?
我试过了:
- 覆盖细节视图控制器的
parentViewController
属性(返回nil
) - 覆盖详细视图控制器的
splitViewController
属性(同上) - 覆盖详细视图控制器的
didRotateToInterfaceOrientation
方法 - 覆盖详细视图控制器的
willRotateToIntefaceOrientation
方法
我正在调查:
- 使用不同的媒体查询
- 使用第三方拆分视图替换(例如 MGSplitViewController)
- 使用 JavaScript 手动注入适当的样式表
如果有人遇到此问题并找到解决方案,请告诉我。