WebView не может прокрутить сверху вниз веб-страницы

Я загрузил веб-страницу в xcode WebView. Но загружается только верхняя часть страницы. Я не могу прокрутить вниз до нижней части страницы. Тот же факт для PDF. Только верхние 2 страницы могут быть прокручены. Что я могу сделать? Вот мой код. Заранее спасибо.

import UIKit

class ViewController: UIViewController {

@IBOutlet var webView: UIWebView!
override func viewDidLoad() {
    super.viewDidLoad()

    var URL = NSURL(string: "http://www.archetapp.com")
    webView.loadRequest(NSURLRequest(URL: URL!))

  }

  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
  }
}

// для PDF

import UIKit

class ViewController: UIViewController {

  @IBOutlet var webViews: UIWebView!

  var path = ""

 override func viewDidLoad() {
    super.viewDidLoad()

    path  = NSBundle.mainBundle().pathForResource("ibook", ofType: "pdf")!
    let url = NSURL.fileURLWithPath(path)
    webViews.scalesPageToFit = true
    webViews.scrollView.scrollEnabled = true
    webViews.userInteractionEnabled = true
    self.webViews.loadRequest(NSURLRequest(URL: url!))        
  }

  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

  }

}

2 ответа

У меня была такая же проблема только сегодня, и, по крайней мере, в моем случае она была вызвана проверкой опции "Масштабировать страницы по размеру" в свойствах WebView. Я предполагаю, что ответ Карлоса относительно масштаба увеличения исправляет его в любом случае, но мне сначала не нужно было включать опцию, так что это было мое простое решение.

Попробуй это!

import UIKit

class ViewController: UIViewController, UIWebViewDelegate {

    @IBOutlet var webView : UIWebView

    override func viewDidLoad() {
       super.viewDidLoad()

       //load initial
       path  = NSBundle.mainBundle().pathForResource("ibook", ofType: "pdf")!
       let url = NSURL.fileURLWithPath(path)
       var req = NSURLRequest(URL : url)
       webView.delegate = self // <---
       webView.loadRequest(req)
    }

    func webViewDidStartLoad(webView : UIWebView) {
       //UIApplication.sharedApplication().networkActivityIndicatorVisible = true
       println("webViewDidStartLoad")
    }

    func webViewDidFinishLoad(webView : UIWebView) {
        //UIApplication.sharedApplication().networkActivityIndicatorVisible = false
       webViews.scalesPageToFit = true
       webViews.scrollView.scrollEnabled = true
       webViews.userInteractionEnabled = true
        println("webViewDidFinishLoad")
    }
}
Другие вопросы по тегам