mapViewをダブルタップするデフォルトの動作をオーバーライドしたいと思います。私swift
アプリでUITableViewCellの要素にUITapGestureRecognizerを接続するとUITapGestureRecognizerが機能しないのはなぜですか?
私は、静的セル内mapView
を持っているので、この方法cellForRowAt
に私がUITapGestureRecognizer
を追加することに決めました。これは私がそれを行う方法です。
func tableView(_ myTable: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (indexPath as NSIndexPath).row == 0 {
let cell = myTable.dequeueReusableCell(withIdentifier: "cellStatic") as! MyTableDetailsCell
cell.mapView.isScrollEnabled = false //this works
//this does not:
let tap = UITapGestureRecognizer(target: self, action: #selector(doubleTapped))
tap.numberOfTapsRequired = 2
cell.mapView.addGestureRecognizer(tap)
...
そして私は、簡単な関数があります。
func doubleTapped() {
print("map tapped twice")
}
しかし、私は二度マップをタップ - それはズームインして何も印刷がコンソールログにありません - そうし私のコードは動作しません。私は何を取りこぼしたか?
'cell.mapView'の' UserInteractionEnabled' = 'true'を設定しようとしています – pkc456
hmは役に立たなかった...私は既にストーリーボードに設定していましたが、コードに書きました。これまでどんな成功もしていませんでした。 – user3766930
マップビューのスクロールとダブルタップの両方の自動ズームを無効にしますか? –