Észlelése 2 ujját a képernyőn mapView MapKit

szavazat
0

Azt megpróbálja felismerni az eseményt mapview. Csak kell felismerni zoom (dupla csap vagy 2 ujjal a képernyőn). Megpróbálom hozzáadni egy UIview réteg, amely észleli esemény, de ha egy újabb réteg, elveszítem az irányítást a térképen ( Hogyan, hogy elkapjam simításokat eseményeket egy MKMapView vagy UIWebView tárgyak? )

Köszönöm a segítséget!

Tony

A kérdést 22/09/2009 17:37
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
0

Szerint ez: link szövegét

A Mkmapview kell lennie az alapértelmezett vevő az eseményeket.

Szóval változtatni az osztály a fő ablak 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

Kihagytam valamit?

Köszönöm a segítséget

Válaszolt 24/09/2009 22:49
a forrás felhasználó

szavazat
0

Mutasd meg nekünk egy kódot. Meg kell tudni, hogy bármilyen esemény nem érdekli vissza a szülő nézetet. Például, miután azt észleli, hogy két ujjal érintse meg, és tedd, amit akarsz, át ugyanezt az eseményt vissza mapview és azt zoom is.

Itt van, amit úgy hívnak, ha kész vannak a eseményészlelést:

[self.nextResponder touchesBegan:touches withEvent:event];
Válaszolt 23/09/2009 08:59
a forrás felhasználó

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