0

我有一个UIWebView嵌入在 a 中UIViewController,当设备旋转时我有一些非常奇怪的行为。我的文本有一个字体大小设置(在 css 中)11px,但是当我旋转到横向时,字体被调整为19px(根据 Safari),我无法弄清楚重新计算的来源。div更奇怪的是,它正上方的另一条(单行)字体大小为10px,并且没有调整大小。

我有这样的事情:

<div class="date">Sep 16</div>
<div class="body"><span class="bold">blah:</span> blah, blah</div>

使用 css 类似:

div.date {
    font-size: 10px;
    font-weight: bold;
    width: 100%;
}

div.body {
    font-size: 11px;
    width: 100%;
}

body调整大小而没有date。我不确定问题是 HTML/CSS 还是UIWebView.

有任何想法吗?

4

2 回答 2

1

Safari会在方向更改时自动调整视口的大小<body>,并将对根标记中的元素采取一些自由。

Safari 的目标是用内容填充屏幕,所以如果你的内容没有完全填满空间,Safari 会放大一些元素来填充它。

如果您想要特定的行为,您可以设置一些属性,例如minimum-scalemaximum-scale以及设置viewport的大小。width

于 2013-09-20T19:08:49.517 回答
0

您可以WebView在定向时再次重新加载。这对我有用。

在您的 中使用以下方法ViewController

- (void)viewWillLayoutSubviews {
  [super viewWillLayoutSubviews];
  [self.view setNeedsUpdateConstraints];
}

- (void)updateViewConstraints {
  [super updateViewConstraints];
  [yourWebView loadHTMLString:yourHTMLString baseURL:nil];
}
于 2018-01-15T07:06:27.203 回答