Как добавить поля в верхней части WKWebView в IOS Swift - PullRequest
0 голосов
/ 26 июня 2019

Я показываю PDF-файл в WKWebView в IOS Swift, и он показывает нормально.Я загружаю файл pdf с сервера.Но некоторая часть файла скрыта за верхней панелью навигации.Я хочу добавить поля в верхней части WKWebView.Вот мой текущий код.

    let myBlog = file
    let url = NSURL(string: myBlog)
    let request = NSURLRequest(url: url! as URL)

    // init and load request in webview.
    webView = WKWebView(frame: self.view.frame)
    webView.navigationDelegate = self
    webView.load(request as URLRequest)

    self.view.addSubview(webView)

    // webView.translatesAutoresizingMaskIntoConstraints = false
    // webView.addConstraints([NSLayoutConstraint(item: webView, attribute: .height, relatedBy: .equal, toItem: view, attribute: .height, multiplier: 1, constant: 0)])

    self.view.addSubview(sv)       
    let pdfVC = UIViewController()
    pdfVC.view.addSubview(webView)
    pdfVC.title = "File"
    self.navigationController?.pushViewController(pdfVC, animated: true)

enter image description here

Здесь закомментированный код - это то, как я пытаюсь добавить поле и не работает.

Ответы [ 3 ]

1 голос
/ 26 июня 2019

Попробуйте установить layoutMargin, это должно решить проблему.

self.webView.layoutMargins = UIEdgeInsets(top: 8, left: 8, bottom: 8, right: 8)

1 голос
/ 26 июня 2019
webView = WKWebView(frame: self.view.frame)

В строке выше установите рамку так, чтобы она оставляла поле сверху и уменьшала значение поля с высоты.

0 голосов
/ 26 июня 2019

Прежде всего установите translatesAutoresizingMaskIntoConstraints из webView в false, т.е.

    webView.translatesAutoresizingMaskIntoConstraints = false

Теперь добавьте constraints из webView к view's safeAreaLayoutGuide или layoutMarginsGuide, т. Е.

    var guide: UILayoutGuide
    if #available(iOS 11.0, *) {
        guide = self.view.safeAreaLayoutGuide
    } else {
        guide = self.view.layoutMarginsGuide
    }

    NSLayoutConstraint.activate([
        webView.leadingAnchor.constraint(equalTo: guide.leadingAnchor),
        webView.trailingAnchor.constraint(equalTo: guide.trailingAnchor),
        webView.topAnchor.constraint(equalTo: guide.bottomAnchor),
        webView.bottomAnchor.constraint(equalTo: guide.bottomAnchor)
        ])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...