Odhalit 2 prstů na obrazovce na MapView MapKit

hlasů
0

Snažím se zjistit událost na MapView. Prostě potřebuju zjistit zoomu (dvojí poklepání nebo 2 prsty na obrazovce). Snažím se přidat UIView vrstvu, která detekuje událost, ale když přidám vrstvy, jsem ztratil kontrolu na mapě ( Jak zachytit znečistit událostí na MKMapView nebo UIWebView objektů? )

Díky za pomoc!

Tony

Položena 22/09/2009 v 17:37
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Podle toto: text odkazu

Mkmapview musí být výchozí přijímač událostí.

Tak jsem se změnit třídu svého hlavního okna 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

Zmeškal jsem něco?

Díky za pomoc

Odpovězeno 24/09/2009 v 22:49
zdroj uživatelem

hlasů
0

Ukaž nám nějaký kód. Měli byste být schopni přijmout nějaké události, které vás nezajímají zpět na původní zobrazení. Například poté, co vás odhalit dva prsty kohout, a dělat, co chcete, pak, že stejnou událost zpět do MapView a nechat ji přiblížit sám.

Zde je to, co říkáte, jakmile jste udělal s detekcí událostí:

[self.nextResponder touchesBegan:touches withEvent:event];
Odpovězeno 23/09/2009 v 08:59
zdroj uživatelem

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