Как настроить вид веб-страницы с помощью wkwebview - PullRequest
0 голосов
/ 07 июля 2019

Я загружаю URL-адрес в wkwebview и хочу, чтобы он не просматривал такую ​​сторону веб-страницы, как это

https://drive.google.com/file/d/1qStJ1C_rrcjobSuorgPeLTkHZc82oUV4/view?usp=sharing

вместо

https://drive.google.com/file/d/1G05f6UVolmQCqdqKdJ0UFBBA6LVDI-BN/view?usp=sharing

Scrollview уже ложен и отскоки тоже ложны.Может кто-нибудь мне помочь

Спасибо!

Я уже пробовал использовать параметры scrollview и bounces, но wkwebview все еще перемещается влево, обнажая синюю часть, показанную на изображениях.Я хочу отобразить веб-страницу, как показано на первом изображении, чтобы ее, из-за отсутствия лучшего слова, представление было заблокировано как отображаемое.Я не уверен, хорошо ли я объясняю себя, но дайте мне знать, если мне нужно объяснить.Я добавил видео ниже, показывая, что я хочу знать, как это сделать.

https://drive.google.com/file/d/1uErGQlB1HKLU7px49UtGbsX9nOYqa3FN/view?usp=sharing

импорт Foundation, импорт UIKit, класс импорта WebKit ViewControllerWebKit: UIViewController, WKUIDelegate {

var webView: WKWebView!

override func loadView() {


    let webConfiguration = WKWebViewConfiguration()
    webView = WKWebView(frame: .zero, configuration: webConfiguration)
    webView.uiDelegate = self
    view = webView
}
override func viewDidLoad() {
    super.viewDidLoad()
     webView.scrollView.bounces = false
    let myURL = URL(string:"https://www.swpc.noaa.gov/communities/space-weather-enthusiasts")


   let myRequest = URLRequest(url: myURL!)
    webView.load(myRequest)
}}

Как показано на фотографиях и видео, я не знаюкак не дать ему двигаться, чтобы он не показывал синюю сторону, являющуюся частью веб-страницы.

1 Ответ

0 голосов
/ 07 июля 2019

Если вы хотите остановить прокрутку страницы в сторону, ширина отображаемого HTML должна быть равна ширине устройства.Вы можете сделать это, определив область просмотра .Дело в том, что ваша страница имеет синюю полосу справа, так что в любом случае я думаю, что вы должны показать это.Это решение остановит прокрутку, но панель все равно будет отображаться, поскольку она является частью страницы.

override func viewDidLoad() {
    super.viewDidLoad()

    let jscript = "var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width');  document.getElementsByTagName('head')[0].appendChild(meta);"
    let userScript = WKUserScript(source: jscript, injectionTime: .atDocumentEnd, forMainFrameOnly: true)
    let wkUController = WKUserContentController()
    wkUController.addUserScript(userScript)
    let webConfiguration = WKWebViewConfiguration()
    webConfiguration.userContentController = wkUController


    webView = WKWebView(frame: .zero, configuration: webConfiguration)
    webView.uiDelegate = self
    view = webView

    webView.scrollView.bounces = false
    let myURL = URL(string:"https://www.swpc.noaa.gov/communities/space-weather-enthusiasts")

    let myRequest = URLRequest(url: myURL!)
    webView.load(myRequest)
}

Надеюсь, это поможет.

...