Skip to content

Instantly share code, notes, and snippets.

@freddi-kit
Last active November 17, 2018 01:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save freddi-kit/12d6363a3df2acd2ed0941e6890aca5e to your computer and use it in GitHub Desktop.
Save freddi-kit/12d6363a3df2acd2ed0941e6890aca5e to your computer and use it in GitHub Desktop.
//
// TouchWebViewController.swift
//
// Created by 秋勇紀 on 2018/11/17.
// Copyright © 2018 勇者野良猫の部屋. All rights reserved.
//
import UIKit
import WebKit
class TouchWebViewController: UIViewController {
// MARK: Stored properties
private let googleUrl = URL(string: "https://google.com")!
// MARK: IBOutlet
@IBOutlet weak var webView: WKWebView! {
didSet {
// Set up web view
webView.load(URLRequest(url: googleUrl))
}
}
override func viewDidLoad() {
super.viewDidLoad()
// UITapGestureRecognizerでタップイベントを取るようにする
let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:)))
tapRecognizer.numberOfTapsRequired = 1
// このときUIGestureRecognizerDelegateに準拠したオブジェクトを設定する
tapRecognizer.delegate = self
webView.addGestureRecognizer(tapRecognizer)
}
// MARK: Private functions
@objc private func handleTap(_ sender: UITapGestureRecognizer){
NSLog("Tap")
}
}
extension TouchWebViewController: UIGestureRecognizerDelegate {
// MARK: UIGestureRecognizerDelegate
// このgestureRecognizerをオーバーライドしてtrueにしないとサブビューではTapイベントを検知できない
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
}