2014-11-03 3 views
1

У меня вопрос о Skobbler MapView и UIPanGestureRecognizer. Кажется, что UIPanGestureRecognizer перехватывает все события панорамирования от SKMapView и блокирует перемещение позиции карты.Skobbler SKMapView и UIPanGestureRecognizer

Ниже приведен пример кода, единственная разница между моим приложением, что UIPanGestureRecognizer находится в родительском представлении 2 уровня выше.

import UIKit 

class IPSkobblerViewController : UIViewController { 

    var mapView : SKMapView!; 

    override func viewDidLoad() { 
     mapView = SKMapView(); 
     mapView.exclusiveTouch = true; 
     self.view.addSubview(mapView); 

     let gestureRecogniser = UIPanGestureRecognizer(target: self, action: "panGesture"); 
     self.view.addGestureRecognizer(gestureRecogniser); 

    } 

    func panGesture() { 
     NSLog("Pan Gesture"); 
    } 

} 
+0

Мы изучаем его – Ando

ответ

1

Первое, что нужно сделать, это установить cancelsTouchesInView в распознавани, чтобы ложному

gestureRecogniser.cancelsTouchesInView = false 

Это позволит жест распознавани, чтобы вид он прикреплен к, чтобы получить события прикосновения. Если это представление не является видом карты, то события касания должны быть перенаправлены на него.

+0

У меня такая же проблема. У меня есть карта, встроенная в UICollectionViewCell, поэтому жест панорамы вида коллекции вызывается с помощью жесты панорамирования карты (это когда параметр cancelsTouchesInView является ложным). Кажется, я не могу найти никакого способа обойти это, потому что нет ссылки на любой из жестов SKMapView. Жест жестка на SKMapView должен просто потребовать, чтобы жест коллекционного просмотра потерпел неудачу. Я также попробовал CancelContentTouches на UICollectionView, но это заставило его не реагировать на какие-либо касания (конечно), чего я не хочу. Полюбуйтесь обратной связью. Благодаря! – RJiryes

1

Он будет исправлен в выпуске 3.0.2.

Смежные вопросы