Обнаружение 2 пальца на экране на MAPview MapKit

голоса
0

Я пытаюсь обнаружить событие на MapView. Мне просто нужно , чтобы обнаружить увеличения (двойное нажатие или 2 пальца на экране). Я пытаюсь добавить UIView слой, обнаружить событие, но если я добавить слой, я теряю контроль на карте ( как перехватить прикасается событий на объектах MKMapView или UIWebView? )

Спасибо за помощь!

Тони

Задан 22/09/2009 в 17:37
источник пользователем
На других языках...                            


2 ответов

голоса
0

По этому: текст ссылки

Mkmapview должен быть приемник по умолчанию событий.

Так что я изменить класс моего главного окна MyMainWindow:

MyMainWindow.h

#import <Foundation/Foundation.h>
@class TouchListener;

@interface MyMainWindow : UIWindow {    

TouchListener *Touch;

}

@end 

MyMainWindow.m

 #import "MyMainWindow.h"

 @implementation MyMainWindow

 - (void)sendEvent:(UIEvent*)event {  
 [super sendEvent:event];  
 [Touch sendEvent:event];
 }
 @end

TouchListener.h

#import <Foundation/Foundation.h>
@interface TouchListener : UIView {

}

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event;
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

@end

TouchListeners.m

#import "TouchListener.h"

@implementation TouchListener

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
 return self;
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
 NSLog(@"Moved");
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    NSLog(@"Touch Began");
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    NSLog(@"Touch Ended");
}

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
    NSLog(@"Touch Cancel");
}

@end

Я что-то пропустил?

Спасибо за помощь

Ответил 24/09/2009 в 22:49
источник пользователем

голоса
0

Покажите нам код. Вы должны быть в состоянии передать любые события, которые вы не заинтересованы в задней части к родительскому мнению. Например, после того, как вы обнаружили два пальца крана, и делать все, что вы хотите, передать ту же событие обратно MapView и он сам масштаб.

Вот то, что вы называете, как только вы закончите с обнаружением событий:

[self.nextResponder touchesBegan:touches withEvent:event];
Ответил 23/09/2009 в 08:59
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more