Swift WKWebView Padding, чтобы скрыть объект - PullRequest
0 голосов
/ 28 февраля 2019

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

Итак, мое последнее средство - сделать WKWebView с отрицательным отступом или чем-то подобным, такчто люди не могут прокрутить вверх, и кажется, что верхняя часть веб-страницы находится после баннера.

У кого-нибудь есть идеи, как мне сделать эту работу?

1 Ответ

0 голосов
/ 28 февраля 2019

Хорошо, хороший способ убедиться, что вы не мешаете прокрутке, - удалить через javascript, но вы можете попробовать использовать contentInsets.

let webview = WKWebView(frame: self.view.bounds)
webview.scrollView.contentInsetAdjustmentBehavior = .never
webview.scrollView.contentInset = UIEdgeInsets(top: -50, left: 0, bottom: 0, right: 0)

Если баннер является плавающим / липким (прокруткас вами, и он всегда отображается вверху), это может не сработать, тогда вы, вероятно, можете:

  • сделать ваш WKWebview выше, добавив столько же высоты, что и баннер
  • верхнее ограничение веб-просмотра будет отрицательным на эту сумму.(верхняя часть будет за кадром)
  • Таким образом, баннер всегда будет там, но никогда не будет виден как находящийся вне экрана.
  • Если ваше веб-представление не охватывает весь экран, вы можетепродолжайте делать это, просто убедитесь, что у вас есть вид в верхней части с цветом заливки, чтобы скрыть баннер
...