SwiftにてMapViewでジェスチャー(UIGestureRecognizer)を使いこなす

Sponsored Link

 

 

どうもヤマサキです。
マップをドラッグで動かしたらナビゲーションバーとツールバーが消えるってのがやりたくて色々いじってたらわかったのでメモメモ。

私の検索能力が無いのか、どうしてもMapViewのジェスチャーの最中のdelegate取得がわからないので何となくいじり倒してみたらできた
タップは認識するんだけどパン(ドラッグ)はもともとMapViewでも使ってるからかな?
なので同時に使う方法でいきましょうって事でこんな感じ。

 

import UIKit
import MapKit

class ViewController: UIViewController, UIGestureRecognizerDelegate {
    
    @IBOutlet weak var _myMap: MKMapView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // パン認識
        let _myPan = UIPanGestureRecognizer(target: self, action: "panGesture:")
        _myPan.delegate = self
        
        // パン認識本数(指)
        _myPan.minimumNumberOfTouches = 1
        
        // Viewに追加.
        self._myMap.addGestureRecognizer(_myPan)
    }
    
    // パン
    func panGesture(sender: UIPanGestureRecognizer){
        println("ドラッグしてる!")
    }
    // ジェスチャーを同時認識させる
    func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
        return true
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

 

このUIGestureRecognizerDelegateって補完でないのね
それに_myPan.delegate = selfも補完でなかった

xcode6.1.1だけど私だけかな
補完機能に頼りすぎて入力中にリストでないと不安でしょうがないのは私だけじゃないはず・・・

まぁこんな感じでやりたい事はできたからいいか

 

 

Sponsored Link
ツイートツイート

SwiftにてMapViewでジェスチャー(UIGestureRecognizer)を使いこなす

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です