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