トラッキングエリアを試していて、問題があったので、この簡単なプログラムをテストとして作成しました。ビュー(ウィンドウのコンテンツビュー)の左下隅に1つの追跡領域を作成しましたが、ビューのmouseEntered
どこに出入りしても、メッセージを受信および終了します。また、このコードをinitメソッドに入れてみましたawakeFromNib
が、同じ結果になりました。
@implementation Parent //This view is the contentView of the main window
-(void)viewDidMoveToWindow{
NSLog(@"In viwDidMoveToWindow");
NSTrackingArea *area = [[NSTrackingArea alloc]initWithRect:NSMakeRect(0,0,50,50) options:NSTrackingInVisibleRect |NSTrackingMouseEnteredAndExited |NSTrackingActiveInActiveApp owner:self userInfo:nil];
[self addTrackingArea:area];
}
-(void)mouseEntered:(NSEvent *)theEvent {
NSLog(@"Entered");
}
-(void)mouseExited:(NSEvent *)theEvent {
NSLog(@"Exited");
}
@end
トラッキングエリアが尊重されないのはなぜですか?