Dha*_*esh 4 uiwebview horizontal-scrolling swift
我有一个简单的webView:
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = "https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-XID_456"
let requestURL = NSURL(string:url)
let request = NSURLRequest(URL: requestURL!)
webView.loadRequest(request)
Run Code Online (Sandbox Code Playgroud)
当我将此请求加载到webView时,它加载完全正常,但是当它完全加载时当我从左侧和右侧滚动它时,它会像这样水平滚动:


我不希望以这种方式滚动它我只想要它垂直滚动有没有办法在swift我在互联网上搜索但只找到objective-c的解决方案我尝试在swift但不工作.
请为我提供任何解决方案.
更新Swift 4
将这两个方法添加到您的UIViewController中:
func webViewDidFinishLoad(_ webView: UIWebView) {
self.webView.scrollView.showsHorizontalScrollIndicator = false
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if (scrollView.contentOffset.x > 0){
scrollView.contentOffset = CGPoint(x: 0, y: scrollView.contentOffset.y)
}
}
Run Code Online (Sandbox Code Playgroud)
在viewDidLoad方法中添加以下行:
webview.scrollView.delegate = self
webview.scrollView.showsHorizontalScrollIndicator = false
Run Code Online (Sandbox Code Playgroud)
现在这个wld在行显示错误,webview.scrollView.delegate = self所以请确保像这样添加UIScrollViewDelegate
class DetailViewController: UIViewController, UIWebViewDelegate, UIScrollViewDelegate{
Run Code Online (Sandbox Code Playgroud)
水平滚动已停止:)
很抱歉这么晚才回答,但您可以通过实现 UIWebViewDelegate 方法在数据加载完成后将可滚动大小设置为 WebView 滚动视图来实现。
func webViewDidFinishLoad(_ webView: UIWebView)
你可以这样做:
快速 4:
func webViewDidFinishLoad(_ webView: UIWebView) {
let scrollableSize = CGSize(width: view.frame.size.width, height: webView.scrollView.contentSize.height)
self.webView?.scrollView.contentSize = scrollableSize
}
Run Code Online (Sandbox Code Playgroud)
编辑:
这里的关键是将 webView scrollView 宽度设置为您的主视图宽度,这将防止水平滚动。
PS:不要忘记采用 UIWebViewDelegate 协议
class myViewController: UIViewController,UIWebViewDelegate
Run Code Online (Sandbox Code Playgroud)
并在 viewDidLoad 中设置您的 webView 委托
webView?.delegate = self
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7490 次 |
| 最近记录: |