如果我更改UIWebView的框架(scalesPageToFit属性为YES),我该怎么办才能保持当前显示的网页的缩放级别?
假设我有一个宽度为200像素的UIWebView框架,并且已放大到一个网站,因此只能看到一列。将宽度更改为300后,我仍然看到具有相同大小的列,以及左侧和右侧的额外空间。但我需要的是,我仍然只看到这个专栏,但更大。
我有什么想法才能实现这个目标?我尝试了很多东西,但迄今为止没有任何工作。
顺便说一下,在Safari浏览器中内置的iPhone完全可以做到这一点(使用相同的网站,因此它与内容无关)在旋转iPhone时...我看到相同的内容,bug更大,没有更多的内容,因为它发生在我当前的代码版本中。
感谢您的帮助! 马库斯
答案 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并在之后重新打开它。