0

Попытки сделать признание водопроводных работ на UIView:UIView кран распознаватель не работает

@IBOutlet weak var mapView_: GMSMapView! 
@IBOutlet weak var viewInfo: UIView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    /* MapView inital values & dependencies */ 
    let initialLocation = CLLocationCoordinate2DMake(37.78, -122.41) 
    let camera = GMSCameraPosition.cameraWithTarget(initialLocation, zoom: 10) 

    /* Set up MapView */ 
    mapView_.camera = camera 
    mapView_.myLocationEnabled = true 
    mapView_.delegate = self 

    var selfTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "viewTapped:") 
    viewInfo.addGestureRecognizer(selfTap) 
    viewInfo.userInteractionEnabled = true 
    mapView_.insertSubview(viewInfo, aboveSubview: mapView_) 
} 
func viewTapped(recognizer: UIGestureRecognizer) -> Void{ 
    NSLog("tapped") 
} 

Он не признает кран.

Любая идея? Благодаря

+0

можете ли вы опубликовать весь код? потому что, если оба ответа не работают, нам нужно увидеть, что действительно неправильно – Lamar

+0

Выполнено ... спасибо – GIJOW

ответ

0

Вы должны удалить : из handleTap: или вам необходимо изменить метод handleTap(sender: UITapGestureRecognizer)

+0

Пробовал оба варианта, все еще не узнавая. TY – GIJOW

0

использование:

func handleTap(sender: UITapGestureRecognizer) { 
 
    NSLog("tapped") 
 
}

+0

все еще не работает. ти – GIJOW

+0

мой код: вар selfTap: UITapGestureRecognizer = UITapGestureRecognizer (цель: самостоятельно, действие: "viewTapped:" selfTap.numberOfTapsRequired = 1 backGrayView.addGestureRecognizer (selfTap); backGrayView.userInteractionEnabled = истина; функ viewTapped (распознаватель: UIGestureRecognizer) -> Пустота { если recognizer.numberOfTouches() == 1 { кОД ЗДЕСЬ } } – RTzhong

+0

Странно, до сих пор не работает, скопируйте и вставьте код с небольшой адаптацией к моему мнению, можно ли. быть надзором по карте google? mapView_.insertSubview (viewInfo, aboveSubview: mapView_) – GIJOW

2

проблема "решена"

Проблема возникла из-за viewIn fo является подвидью представления googlemaps. Я не мог делегировать событие нажатия для просмотра, поэтому я предположил, что событие «tap» отправляется в mapview.

Я вынул viewInfo из mapview и немного сыграл с ограничениями, чтобы разместить там, где я этого хотел. Таким образом, родительский элемент viewInfo теперь является диспетчером просмотра, и событие перехода распознается без каких-либо проблем.

Я думаю, это не лучшее решение, так как нам нужно быть очень осторожным при перемещении subview в раскадровке, чтобы он не стал частью mapview, но пока я не могу понять, как делегировать subview viewcontroller ,

Благодарим всех вас за помощь.

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