2012-01-30 9 views
1

グローバルUITouchハンドラをセットアップして、システムを通過しているすべてのUITouchイベントをデバッグし、どのビューがターゲットであるかなどを確認したいと思います。これをどのように達成できますか?UITouchesをグローバルに追跡するには?

答えて

2

sendEvent:方法よりも優先されますUIApplicationのサブクラスください:

@interface MyApplication : UIApplication 
@end 

@implementation MyApplication 

- (void)sendEvent:(UIEvent *)event { 
    if (event.type == UIEventTypeTouches) { 
     NSLog(@"Touch event: %@", event); 
    } 
    [super sendEvent:event]; 
} 

@end 

main.mUIApplicationMainにこのサブクラスの名前を渡します。

#import <UIKit/UIKit.h> 
#import "AppDelegate.h" 
#import "MyApplication.h" 

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, 
      NSStringFromClass([MyApplication class]), 
      NSStringFromClass([AppDelegate class])); 
    } 
} 
関連する問題