UIWebView框架调整大小不会调整内部内容的大小

时间:2009-12-17 15:02:20

标签: iphone objective-c uikit

如果我更改UIWebView的框架(scalesPageToFit属性为YES),我该怎么办才能保持当前显示的网页的缩放级别?

假设我有一个宽度为200像素的UIWebView框架,并且已放大到一个网站,因此只能看到一列。将宽度更改为300后,我仍然看到具有相同大小的列,以及左侧和右侧的额外空间。但我需要的是,我仍然只看到这个专栏,但更大。

我有什么想法才能实现这个目标?我尝试了很多东西,但迄今为止没有任何工作。

顺便说一下,在Safari浏览器中内置的iPhone完全可以做到这一点(使用相同的网站,因此它与内容无关)在旋转iPhone时...我看到相同的内容,bug更大,没有更多的内容,因为它发生在我当前的代码版本中。

感谢您的帮助! 马库斯

2 个答案:

答案 0 :(得分:1)

编辑:更好的答案:

mjdth是正确的,您可以使用contentMode上的UIWebView属性。很简单:

webView.contentMode = UIViewContentModeRedraw; 

旧的,废话回答:

这对我有用,但我正在使用本地页面和少量内容:

-(void)layoutSubviews
{
    // Cause web view to reload content in order to display at new frame size
    [webView reload];
}

我希望看到更好的解决方案,但不涉及重新加载页面!

答案 1 :(得分:0)

您为webview的UIViewContentMode设置了什么(也可以在View部分的“Mode”下在IB中设置)?由于您正在调整视图大小,因此可能与此有关。只是在黑暗中拍摄,因为我没有尝试过,但希望这会有所帮助。

您可能还想尝试在转换之前关闭scalesPageToFit并在之后重新打开它。