iOS14+xcode12によるビルドでバグのような挙動が発生しているので報告です
WKWebView の contentInset.top を一定値以上セットすると、
webView の load 中になぜか最下部にスクロールされる
というものになります。
一定値というのは700〜800あたりで発生することを確認してます
500とかだと発生しません
以下再現コードです
WKWebViewを全面に配置しただけのstoryboardもあらかじめ作ってあります
class ViewController: UIViewController {
@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://cookpad.com")!
let request = URLRequest(url: url)
webView.load(request)
webView.scrollView.contentInset.top = 800.0
DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
self.webView.reload()
}
}
}
実行すると、なぜか最下部までスクロールした状態でロードされます。
リロード後も同じ。
しかし、軽いページなのかなにか条件があるのか、一度目はちゃんと最上部のままロードされるページもあります
(google.co.jp等)
ただ、その場合も reload()
後は最下部にスクロールされた状態になります
iOS14SDKのバグっぽい挙動なのですが、報告です
もし回避策がありましたら教えていただけるとありがたいです!