在 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 上崩溃