在 iPhone 6 Plus 上关闭 UISplitViewController 弹出框时 UIWebView 被拉伸

Posted

技术标签:

【中文标题】在 iPhone 6 Plus 上关闭 UISplitViewController 弹出框时 UIWebView 被拉伸【英文标题】:UIWebView stretched when dismissing UISplitViewController popover on iPhone 6 Plus 【发布时间】:2015-01-14 21:28:49 【问题描述】:

我在详细信息视图中使用带有 UIWebView 的拆分视图控制器。在 iPhone 6 Plus 上,横向时,当我关闭主视图以展开详细信息视图以适应整个屏幕时,UIWebView 的内容会被拉伸而不是调整大小以利用额外的空间。

当弹出框被解除时,如何让 UIWebView 调整内容的宽度而不是拉伸/缩放它?

(我最初在详细信息视图中使用 UITextView 并将 html 字符串转换为 NSAttributedString。我没有拉伸问题,但是滚动不连贯等,有大量文本。 UITextView 在这方面工作得更好,唯一的问题是拉伸。)

在关闭弹出框之前:

关闭弹出框后:

编辑:这里是我用于 UIWebVIew 中显示的内容的字符串格式:

    private static let formatStringForUIWebView: NSString =
    "<html>" +
    "<head>" +
    "   <title></title>" +
    "   <meta name=\"viewport\" content=\"width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0\" />" +
    "   <style type=\"text/css\">" +
    "      pre  width: auto; white-space: pre-wrap; " +
    "   </style>" +
    "</head>" +
    "<body>" +
    "   <div style='color: #555555; font-size: 12px; font-family: Helvetica;'>%@</div>" +
    "</body>" +
    "</html>";

【问题讨论】:

【参考方案1】:

这可能是您正在寻找的。它可以防止字体缩放。

-webkit-text-size-adjust: none;

这是此 css 属性的参考链接。

https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust

【讨论】:

是的是的!!!!这使它完美地工作。只要它允许我,我就会奖励你赏金(说我可以在 4 小时内)。 你是我的英雄!非常感谢! 不客气!很高兴我能帮上忙。我还添加了详细说明此 CSS 属性的参考链接。 不错的解决方案。在我们的项目中,我的建议已经足够了,但这很有趣。 这很可能是放置在 UIWebView 中的内容。所有内容都包含在 PRE 标记中,用于显示类似代码。我必须在 PRE 标签上使用一些 CSS 才能让它们正确包装,所以它们可能是罪魁祸首。【参考方案2】:

在您的 HTML 内容中,定义一个元标记,该标记将指示它具有一个具有设备宽度宽度的视口:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

【讨论】:

我用我用于 UIWebView 中的 HTML 内容的格式字符串更新了问题。如您所见,我已经这样做了,但它没有帮助(该方法有助于在加载时正确显示 HTML,但是当关闭弹出框时,它仍然会拉伸)。 就好像 UIWebView 只是随着视图展开,但没有触发重绘内容。

以上是关于在 iPhone 6 Plus 上关闭 UISplitViewController 弹出框时 UIWebView 被拉伸的主要内容,如果未能解决你的问题,请参考以下文章

ARKit 演示在 iPhone 6/iPhone 6 Plus 上崩溃

iPhone 6 plus 上堆栈视图的奇怪行为

iphone 6 plus 上自动布局的意外结果

应用程序在模拟器上运行,但不是 iPhone 6 plus

为啥 iPhone 6 Plus 的键盘在我的应用程序上看起来不同?

适用于 Iphone 6 和 Iphone 6 plus 的媒体 CSS