UIWebView中的文本会更改设备旋转的大小或重量

时间:2011-11-25 13:25:48

标签: ios uiwebview

我有一个UIWebView,目前显示一个非常简单的HTML字符串。它看起来很好看,但在风景中文字会发生变化 - 字体看起来更重,这不是我想要的。见下图:

Image of font render problem

顶行是纵向显示的内容,底部是横向显示的内容。文字是中文,但问题与英文相同。

这是我的代码:

- (void)displayText
{
    [self.myWebView loadHTMLString:@"<html style=\"-webkit-text-size-adjust: none; font-size-adjust:none; \"><head><meta name=\"viewport\" content=\"width=device-width; initial scale=1.0; maximum-scale=1.0;\"></head><body style=\"background-color:#FFFFFF; font-size:28px; color:#DDDDDD;\">你好。你好。你好。你好。你好。你好。你好。你好。</body></html> " baseURL:[NSURL URLWithString:@""]];
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    [self.myWebView reload];
}

任何想法我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

这个CSS对我有用:

-webkit-transform: translate3d(0,0,0);

我在这里找到了答案:

UIWebView font is thinner in portrait than landscape

更新:

上述CSS的一个问题是,如果重新加载HTML,则在呈现文本之前会有一些延迟。我发现将UIWebView的{​​{1}}属性设置为FALSE效果更好:

opaque

这看起来有点像黑客。希望有更好的解决方案。