Я создаю приложение для iOS. У меня есть UIWebView, который добавляется как subview в self.view, затем другой вид, который является mapView, добавляется как подзаголовок веб-представления. Но mapView отправляется обратно в webView. Фон webView прозрачен, чтобы можно было видеть карту. см код:Передача PanGesture в подвью
[self.webView addSubview: self.mapView];
[self.webView sendSubviewToBack: self.mapView];
Ну, что я пытаюсь сделать, это передать жесты WebView к MAPview так, что пользователь может перетаскивать карту.
Я пометил свойство cancelsTouchesInView для NO как для webView, так и для mapView.
Я добавил распознаватель жестов для webView. Селектор действительно вызван. Но что я должен делать дальше?
self.webPanGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action: @selector(handleWebPanGesture:)];
[self.webView addGestureRecognizer: self.webPanGesture];
я назвал метод gestureRecognizerShouldBegin в селекторе Webview, но он не работает.
- (void) handleWebPanGesture: (UIPanGestureRecognizer *)gesture
{
NSLog(@"WebPanGesture recognizer called!");
[self.mapView gestureRecognizerShouldBegin: gesture];
[self panAction: gesture];
self.mapPanGesture = gesture; // the mapPanGesture property is the Gesture recognizer for the map
}
Я также вызывать эту функцию
- (IBAction)panAction:(UIPanGestureRecognizer *)sender {
NSLog(@"panAction called!");
CGPoint move = [sender translationInView:self.webView];
CGPoint newCenter = subViewCenter;
newCenter.x += move.x; newCenter.y += move.y;
self.myMapView.mapView.center = newCenter;
}
, но это не делает карту перетаскиваемым, он просто перемещает его.
self.mapPanGesture = gesture //doesn't work as well.
Как настроить таргетинг действий на mapView так, чтобы карта перетаскивалась при перетаскивании по webView?
Но какова ваша цель? Почему карта за веб-просмотром? Чего вы пытаетесь достичь? – nikhil84
проблема заключается в том, что есть элементы html, которые должны быть над картой, поэтому я отправляю карту внизу. – nikozavar
Хорошо, но в конце вы можете показать как отдельно, так и друг за другом. – nikhil84