方向更改会导致字体大小更改

时间:2013-09-20 18:56:48

标签: html ios css uiwebview

我在UIWebView中嵌入了UIViewController,当设备旋转时,我有一些非常奇怪的行为。我的文字在11px设置了字体大小(以css为单位),但是当我旋转到横向时,字体会调整为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上的设置。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Safari automatically resizes an scales the viewport on orientation changes并且会对根<body>标记中的元素采取一些自由。

Safari的目标是在屏幕上填充内容,因此如果您的内容不能填满空间,Safari会扩展一些元素以填充它。

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

答案 1 :(得分:0)

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

ViewController

中使用以下方法
- (void)viewWillLayoutSubviews {
  [super viewWillLayoutSubviews];
  [self.view setNeedsUpdateConstraints];
}

- (void)updateViewConstraints {
  [super updateViewConstraints];
  [yourWebView loadHTMLString:yourHTMLString baseURL:nil];
}

祝你好运!