У меня были проблемы с этим в прошлом.Я смог решить эту проблему, сначала «игнорируя» другие приложения, а затем сделав его ключевым окном.Сделайте попытку и посмотрите, работает ли он для вас.
[NSApp activateIgnoringOtherApps:YES];
[[self window]makeKeyAndOrderFront:self];
Также попробуйте установить уровень окна на NSPopUpMenuWindowLevel
во время инициализации.
[[self window]setLevel:NSPopUpMenuWindowLevel];
У меня также были проблемы с тем, как файлы пера загружаются в Mac OS X. Они загружаются «лениво», что означает, что они не будут инициализированы до тех пор, поканужноЭто вызывает проблему, когда вы хотите установить специфику в окне, но не можете, потому что awakeFromNib
не вызывается из-за отложенной загрузки пера.Чтобы это исправить, вот что я делал в прошлом.В своем делегате (или везде, где вы инициализируете свое окно), запустите окно в действие, открыв свойство window
в инициализированном классе:
wc = [[blah alloc]initWithWindowNibName:NSStringFromClass([blah class])];
(void)[wc window]; //just kicks the lazy nib loading into gear
Тем самым вы заставляете перо инициализировать,Таким образом, когда пользователь щелкает значок меню, перо уже инициализировано, и awakeFromNib
уже вызван.