2012-06-05 1 views
0

Мне нужно реализовать пользовательский popover (не использовать NSPopover). Все работает отлично, но мне также нужно реализовать, что popover закрывается, когда пользователь щелкает где-нибудь в родительском окне.Окно дочернего окна NSWindow рядом с родительским кликом

Каков наилучший способ реализации этого, соотв. как это можно реализовать без подкласса родительского окна?

ответ

0

Создайте ключевое окно popover при его показе и используйте NSWindowDidResignKeyNotification (или метод делегата), чтобы закрыть, когда он уходит в отставку с этого состояния (что происходит, когда пользователь делает какое-то другое окно активным). Закрытие при закрытии родительского окна также является хорошей идеей (NSWindowWillCloseNotification).

+0

'NSWindowDidResignMainNotification' не будет работать, потому что окно не будет отменено, если щелкнут родительский элемент. –

+0

@ErikAigner Извините, это ключ, а не основной. Вот как это делает мой popover. Я обновил ответ. – hamstergene

+0

Также попробовал это с ключом (подумал, что вы могли бы назвать ключ вместо этого), но не сработал :( –