我已尝试插入以下内容来禁用它:
<meta name="viewport" content="width=320" />
进入我的HTML字符串,上面的十几个变种徒劳地希望我搞砸了标签语法......但似乎没有什么能阻止UIWebView水平滚动。然而,有些应用程序可以设法执行此操作(例如MobileRSS),并且可能因为它们没有被拒绝,所以它们不使用私有API。
答案 0 :(得分:32)
我的版本,一个常见的解决方案:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView.scrollView setContentSize: CGSizeMake(webView.frame.size.width, webView.scrollView.contentSize.height)];
}
答案 1 :(得分:8)
我最终设法解决了这个问题。我已经尝试设置视口宽度值,但它不起作用。 DID的工作原理是使用溢出:隐藏与设置视口宽度一起使用。谢谢你回答。
答案 2 :(得分:4)
您的网页需要有两个属性:1 - 视口元标记,2 - 宽度为320像素或更少,包括边距和填充。
这是一个非常裸露的HTML5骨架,应允许垂直滚动并禁止水平滚动,包括禁止水平弹跳。这也禁止缩放 - 它假定您的网页应始终显示1-1给用户。如果您使用UIWebView来显示用户界面,这将非常有用。
<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=0" />
<style>
body {width:320px;margin:0;padding:0;}
</style>
</head>
<body></body>
</html>
答案 3 :(得分:4)
如果webView内容是一个长度大于webView的单词。你必须打破那个字符串。所以在div中使用以下代码
自动换行:break-word;
答案 4 :(得分:1)
<meta name="viewport" content="width=device-width, user-scalable=no initial-scale=1.0" />
答案 5 :(得分:1)
为UIWebview
的{{1}}设置代理(在iOS5上为UIScrollview
,在iOS4上设置代理,方法是遍历子视图树并选择webview.scrollView
子视图)为'self '并使用以下代码:
UIScrollview
完美地工作,由于某种原因我的HTML代码水平溢出而不需要它。这解决了。
答案 6 :(得分:0)
Swift 5.0 解决方案:
func webViewDidFinishLoad(_ webView: UIWebView) {
webView.scrollView.contentSize = CGSize(width: webView.frame.size.width, height: webView.scrollView.contentSize.height)
}