![](/img/trans.png)
[英]How do I enable horizontal scrolling and disable vertical scrolling in UIWebview?
[英]How to disable UIWebview horizontal scrolling?
我尝试通过插入来禁用它:
<meta name="viewport" content="width=320" />
进入我的 HTML 字符串,以及上面的十几种变体,希望我只是搞砸了标签语法……但似乎没有什么能阻止 UIWebView 水平滚动。 然而,有些应用程序可以做到这一点(例如 MobileRSS),并且大概因为它们没有被拒绝,所以它们没有使用私有 API。
我的版本,一个常见的解决方法:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[webView.scrollView setContentSize: CGSizeMake(webView.frame.size.width, webView.scrollView.contentSize.height)];
}
我最终设法解决了这个问题。 我已经尝试过设置视口宽度值,但没有奏效。 什么 DID 工作是使用 overflow:hidden 结合设置视口宽度。 无论如何感谢您的回答。
如果 webView 包含一个长度大于 webView 的单词。 你必须打破那根弦。 所以在div中使用下面的代码
自动换行:断字;
您的网页需要有两个属性:1——视口元标记和 2——320px 或更小的宽度,包括边距和填充。
这是一个非常简单的 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>
将UIWebview
的UIScrollview
的委托(在 iOS5 上通过webview.scrollView
和在 iOS4 上通过遍历子视图树并选择UIScrollview
子视图)设置为“self”并使用以下代码:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
[scrollView setContentOffset:CGPointMake(0, scrollView.contentOffset.y)];
}
完美运行,出于某种原因,我的 HTML 代码水平溢出,不需要它。 这修复它。
<meta name="viewport" content="width=device-width, user-scalable=no initial-scale=1.0" />
Swift 5.0解决方案:
func webViewDidFinishLoad(_ webView: UIWebView) {
webView.scrollView.contentSize = CGSize(width: webView.frame.size.width, height: webView.scrollView.contentSize.height)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.