【问题标题】:How can I prevent the scaling of a UIWebview's content after reorientation?重定向后如何防止 UIWebview 内容的缩放?
【发布时间】:2012-11-17 16:56:37
【问题描述】:

我正在构建一个具有 UIWebView 的 iOS 5/6 应用程序。它会加载一些我嵌入到我的应用程序中的 HTML。
现在,当我旋转我的设备时,WebView 会改变它的大小(因为我希望它填满屏幕的整个宽度)。
然后它变得很奇怪:一些内容被放大,而一些内容没有被放大。请参阅此图片,其中包含一些示例文本:

如您所见,标题 (H6) 保持不变,而段落放大了。有人知道如何防止这种情况吗?我希望 html 在横向和纵向模式下看起来一样。

我尝试将视口缩放设置为 1:<meta name="viewport" content="initial-scale=1.0,max-scale=1.0"> 但这无济于事。正文的font-size 样式设置为14px,但将其更改为14pt 或百分比也没有任何区别。将正文的width 设置为100% 也没有帮助。

奇怪的是,删除文本中的换行符 (<br/>) 修复了它,但我需要换行符,所以这不是解决方案。

的唯一工作是在方向改变后重新加载 UIWebView 的内容,但这并不能防止它在旋转期间看起来错误,它会重置任何用户可能已经完成的滚动。

有什么想法吗?

【问题讨论】:

    标签: ios uiwebview screen-rotation


    【解决方案1】:

    试试这个:

    body {
      -webkit-text-size-adjust: none;
    }
    

    【讨论】:

      【解决方案2】:

      我不确定,但可能是 UIWebView 上的 scalesPageToFit 属性。

      【讨论】:

      • 这是我尝试过的,但没有与元标记 <meta name="viewport" content="initial-scale=1.0,max-scale=1.0"> 结合使用。需要该元标记才能以正确的比例显示内容(而不是按比例缩小以适应)。这在大多数情况下解决了我的问题(我将授予您赏金,因为它修复了我在问题中提到的特定用例)。在一个地方,我还必须在 html 中的 div 中添加一个 style="font-size:99.99%",以防止段落文本放大。
      【解决方案3】:

      如果您在 XCode 上进行编码(我假设是因为您使用的是 UIWebView)

      • 选择笔尖上的 UIWebView。
      • 实用工具窗格 > 大小检查器 > 在自动调整大小框中,删除两个双向箭头。
      • UIWebView 现在具有固定大小,不会自动缩放到方向。

      这是你想要的吗?

      【讨论】:

      • 谢谢,但不,这不是我想要的。我希望 WebView 填充设备的宽度,因此框内的那些红色箭头需要打开。我希望内容在盒子大小发生变化时保持不变。
      猜你喜欢
      • 1970-01-01
      • 2011-07-16
      • 2018-01-04
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 2010-12-03
      • 1970-01-01
      相关资源
      最近更新 更多