Detect 2 fingre på skjermen på mapView MapKit

stemmer
0

Jeg prøver å registrere hendelsen på en mapview. Jeg trenger bare å oppdage zoom (dobbel trykk eller 2 fingre på skjermen). Jeg prøver å legge til en UIView lag som oppdager hendelsen, men hvis jeg legger et lag, jeg mister kontrollen på kartet ( Hvordan fange berører hendelser på en MKMapView eller UIWebView gjenstander? )

Takk for hjelpen!

Tony

Publisert på 22/09/2009 klokken 16:37
kilden bruker
På andre språk...                            


2 svar

stemmer
0

Ifølge denne: link text

Den Mkmapview må være standardmottaker av hendelsene.

Så jeg endre klassen min hovedvinduet til 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

Gikk jeg glipp av noe?

Takk for hjelpen

Svarte 24/09/2009 kl. 21:49
kilden bruker

stemmer
0

Vis oss noen kode. Du bør være i stand til å treffe andre hendelser du ikke er interessert i tilbake til den overordnede syn. For eksempel etter at du oppdager en to fingertrykk, og gjøre hva du vil, pass på at samme hendelsen tilbake til mapview og har det zoome seg selv.

Her er hva du kaller en gang du er ferdig med ditt arrangement deteksjon:

[self.nextResponder touchesBegan:touches withEvent:event];
Svarte 23/09/2009 kl. 07:59
kilden bruker

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