((快速)在webView上处理用户的点击

问题描述 投票:0回答:1

我的屏幕上的webView底部有webView和一个隐藏的stackView(3 buttons)

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

默认情况下,stackView是隐藏的,当用户在webView上的某个位置点击时,它应该是可见的。

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

如何处理用户的点击以使我的“ stackView”可见?

ios swift webview uiwebview uitapgesturerecognizer
1个回答
1
投票

您可以使用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
}
© www.soinside.com 2019 - 2024. All rights reserved.