Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在完成加载时禁用uiwebview自动滚动到顶部_Ios_Swift_Uiwebview_Webviewdidfinishload - Fatal编程技术网

Ios 如何在完成加载时禁用uiwebview自动滚动到顶部

Ios 如何在完成加载时禁用uiwebview自动滚动到顶部,ios,swift,uiwebview,webviewdidfinishload,Ios,Swift,Uiwebview,Webviewdidfinishload,我在UIWebView的scrollview中添加了相同的子视图。当webview获取内容大小时,scrollview将滚动到顶部。现在我知道事件发生在完成之前。一些图像可能仍在加载,但在获取文本内容之后。我该怎么办 这是代码,要查看bug,您需要减慢requestuse edge!!加载完成前,滚动视图,然后等待。请求完成后,您将看到视图滚动到顶部 class WebViewController: UIViewController { var mw = UIScreen.mainScreen(

我在UIWebView的scrollview中添加了相同的子视图。当webview获取内容大小时,scrollview将滚动到顶部。现在我知道事件发生在完成之前。一些图像可能仍在加载,但在获取文本内容之后。我该怎么办

这是代码,要查看bug,您需要减慢requestuse edge!!加载完成前,滚动视图,然后等待。请求完成后,您将看到视图滚动到顶部

class WebViewController: UIViewController {
var mw = UIScreen.mainScreen().bounds.width
var mh = UIScreen.mainScreen().bounds.height

override func viewDidLoad() {
    super.viewDidLoad()

    var web = UIWebView(frame: CGRect(x: 0, y: 0, width: mw, height: mh))

    var scrollview = web.scrollView

    var tmp = UIView(frame: CGRect(x: 0, y: 0, width: mw, height: 300))

    tmp.backgroundColor = UIColor.redColor()

    scrollview.addSubview(tmp)

    (scrollview.subviews.first as UIView).frame.origin.y = 300

    let requestURL = NSURL(string: "http://stackoverflow.com/questions/27008545/how-to-disabled-uiwebview-auto-scroll-to-top-when-finished-load")

    let request = NSURLRequest(URL: requestURL!)

    web.loadRequest(request)

    self.view.addSubview(web)

}

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

}

首先需要将setContentSize:设置为实际内容大小,而不是帧大小。也就是说,如果您的内容高达800px,则应设置ContentSize:CGSizeMakewidth,800。使用此选项,您可以设置UIScrollView,使其滚动显示800px高内容。如果将UIScrollView的内容大小设置为其帧大小,则不会执行滚动,也不会显示滚动指示器