2012-06-26 22 views
6

trên con sư tử osx, bạn có thể điều khiển-lệnh-d hoặc nhấn ba lần trên một từ mà chuột của bạn được trỏ đến trong bất kỳ ứng dụng nào để khởi chạy từ điển popover. tôi muốn tạo một ứng dụng để theo dõi các từ mà người dùng đang tìm kiếm trong từ điển.Cách móc từ điển OS X

làm cách nào để quan sát sự kiện mà người dùng thực hiện điều khiển-lệnh-d hoặc nhấn ba lần để khởi chạy từ điển cửa sổ bật lên?

Tôi hiểu rằng API cụ thể cho điều này là HIDictionaryWindowShow.

Trả lời

3

Bạn có thể sử dụng popoverDidShow:

- (void)awakeFromNib { 
    NSNotificationCenter* notificationCenter = [NSNotificationCenter defaultCenter]; 
    [notificationCenter addObserver:self selector:@selector(popoverDidShow:) 
          name:NSPopoverDidShowNotification object:nil]; 
} 

// dictionary is shown or another NSPopover 
- (void)popoverDidShow:(NSNotification*)notify { 
    //your code 
} 
+0

ý tưởng tốt. nhưng làm thế nào bạn sẽ biết nếu popover là từ HIDictionaryWindowShow? Tôi có nghĩa là nó có thể chỉ là một cửa sổ pop khác ở bất cứ đâu trên hệ thống. – hollow7

+0

Sử dụng phương thức ** name ** để tìm hiểu loại thông báo bạn đang xử lý khi bạn nhận được thông báo, '[tên thông báo]'. Sử dụng các thông tin trong NSDictionary '[thông báo cho userInfo]'. Sử dụng đối tượng ** được liên kết với thông báo '[thông báo đối tượng]' để biết phương thức 'description, attributeKeys' hoặc các phương thức khác – jackjr300