(Swift) Обработка пользовательского нажатия на webView - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть webView и скрытый stackView(3 buttons) в нижней части webView на моем экране.

@IBOutlet weak var webView: WKWebView!
@IBOutlet weak var stackView: UIStackView!

По умолчанию stackView скрыто, и оно должно быть видно, когда пользователь нажимает куда-то на веб-сайте.

override func viewDidLoad() {
        super.viewDidLoad()
        stackView.isHidden = true
    }

Как я могу обработать нажатие пользователя, чтобы сделать мой 'stackView' видимым?

1 Ответ

1 голос
/ 12 февраля 2020

Вы можете использовать UITapGestureRecognizer, попробуйте это

override func viewDidLoad() {
    super.viewDidLoad()
    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap))
    tapGesture.delegate = self
    webView.addGestureRecognizer(tapGesture)
   } 

  @obj func handleTap() {
      stackView.isHidden = false
    }

, не забудьте добавить UIGestureRecognizerDelegate

, если это не работает, вы должны добавить следующий метод, потому что WKWebView уже имеет свои собственные распознаватели жестов

func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
  return true
}
...