2012-08-24 9 views
6

Po uruchomieniu aplikacji OS X z Xcode wygląda tak, jak powinna.Okno nie zostanie przywrócone po jego zamknięciu.

Kiedy zamykam okno, znika (jak można się spodziewać), a aplikacja nadal jest aktywna na stacji dokującej.

Świetnie, tak powinno być. Ale kiedy klikam w dock, aby aktywować okno, nie pojawi się.

Wszelkie pomysły?

+0

jak ty zamknięciem? rzucenie aplikacji przeciwko ukrywaniu lub minimalizowaniu? – ekims

Odpowiedz

21

Nie ma zbyt wielu informacji w pytaniu, ale pozwól mi założyć, że aplikacja jest aplikacją z jednym oknem (to jest nie na podstawie NSDocument).

Typowa sytuacja w tym scenariuszu polega na tym, że użytkownik zamyka okno, a aplikacja nadal działa z ikoną w Docku, tak jak powinna.

W takiej sytuacji użytkownik zwykle chce, aby okno ponownie pojawiło się po aktywowaniu aplikacji, klikając ikonę w Docku.

Aby uzyskać który można wdrożyć applicationShouldHandleReopen:hasVisibleWindows: następująco:

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)visibleWindows 
{ 
    if (visibleWindows) { 
     [self.window orderFront:self]; 
    } 
    else { 
     [self.window makeKeyAndOrderFront:self]; 
    } 

    return YES; 
} 
+0

Przepraszam za brak informacji w pytaniu .. spróbuję i dam znać .. Pozdrawiam – theiOSDude

+1

tylko bilet dziękuję @Monolo - pamiętanie o opcji "Zwolnij, gdy zamknięta" jest odznaczone w IB, spowoduje wywołanie awarii "makeKeyAndOrderFront" – theiOSDude

3

dla SWIFT:

func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool { 
    if let window = sender.windows.first { 
     if flag { 
      window.orderFront(nil) 
     } else { 
      window.makeKeyAndOrderFront(nil) 
     } 
    } 

    return true 
} 
Powiązane problemy