Окно исчезает и выходит - PullRequest
0 голосов
/ 28 декабря 2010

как мне исчезнуть окно, когда оно открыто, и закрыто, когда закрыто?

Это, вероятно, должно быть сделано в Objective C. Это должно быть частью проекта AppleScript-Objective-C. Я использую свойство, связанное с окном, и делаю makeKeyAndOrderFront для него ...

Любая помощь будет оценена!

1 Ответ

7 голосов
/ 28 декабря 2010

Подкласс (или добавить категорию) NSWindow и добавить:

- (void)fadeInAndMakeKeyAndOrderFront:(BOOL)orderFront {
    [self setAlphaValue:0.0];
    if (orderFront) {
        [self makeKeyAndOrderFront:nil];
    }
    [[self animator] setAlphaValue:1.0];
}

- (void)fadeOutAndOrderOut:(BOOL)orderOut {
    if (orderOut) {
        NSTimeInterval delay = [[NSAnimationContext currentContext] duration] + 0.1;
        [self performSelector:@selector(orderOut:) withObject:nil afterDelay:delay];
    }
    [[self animator] setAlphaValue:0.0];
}

Это позволяет программно увеличивать / уменьшать окна.

Чтобы окно исчезало при нажатии кнопки закрытия, добавьте его к делегату окна:

- (BOOL)windowShouldClose:(id)sender {
    [window fadeOutAndOrderOut:YES];
    return NO;
}

Чтобы показать окно с постепенным вызовом [window fadeInAndMakeKeyAndOrderFront:YES]; вместо того, что вы бы назвали иначе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...