NSWindow setAlpha не вступает в силу - PullRequest
2 голосов
/ 20 мая 2011

у моего приложения есть окно, в котором его альфа активируется от 0 до 1, когда оно становится активным, и устанавливает его альфа на 0 при деактивации, но я обнаруживаю, что альфа не установлена ​​на 0 при деактивации, если мое приложение активировано только в течение очень короткого времени (<1 секунды). </p>

Таким образом, эффект состоит в том, что окно просто быстро мигает, а затем исчезает и затем исчезает.

Похоже, что при деактивации он не может установить альфа на 0, потому что окно никогда не заканчивало анимировать его на 1, когда оно было активировано.

Как я могу заставить альфа на 0? - Установка его в 0 в начале приложенияWillBecomeActive не работает ....

Вот код:

- (void)applicationWillBecomeActive:(NSNotification *)aNotification {
    [NSAnimationContext beginGrouping];
    [[NSAnimationContext currentContext] setDuration:0.10]; 
    [[mainPanel animator] setAlphaValue:1.0f];
    [NSAnimationContext endGrouping];       
}

- (void)applicationWillResignActive:(NSNotification *)aNotification {
    [mainPanel setAlphaValue:0.0];
    [mainPanel orderOut:nil];   
}
...