2011-09-12 24 views
9

Tôi có một ứng dụng 10.7 sử dụng NSPopover nhỏ để hiển thị một số văn bản. Người dùng không bao giờ có ý định tương tác với nó.NSPopover đánh cắp cửa sổ chính làm cho các lựa chọn flash cửa sổ nằm bên dưới. Mọi sửa chữa?

Khi NSPopover xuất hiện, chế độ xem cơ bản sẽ mất trạng thái khóa và lựa chọn thay đổi màu sắc, v.v. Có cách nào để điều này không xảy ra không?

Trả lời

5

Tôi làm điều này:

[[NSNotificationCenter defaultCenter] addObserverForName:NSPopoverDidShowNotification 
     object:myPopover queue:nil usingBlock:^(NSNotification *note) { 
      [window becomeKeyWindow]; //Reclaim key from popover 
      [window makeFirstResponder:previousFirstResponder]; 
    }]; 
+1

Cảm ơn - Tôi ghi nhận previousFirstResponder trong câu trả lời. Cách có ý nghĩa là bạn cần điều này, vì vậy bạn cũng phải đăng ký NSPopoverWillShowNotification và đặt previousFirstResponder. –

+2

Thêm: Phương pháp này không hoạt động hoàn hảo cho tôi - cửa sổ bật lên lấy chìa khóa một chút, do đó, có đèn flash. Ngoài ra bạn nên gọi makeKeyWindow và không trở thành keyWindow –

Các vấn đề liên quan