Как бы вы заставили The Dock Icon показывать окно при нажатии? - PullRequest
3 голосов
/ 07 июня 2009

Мне бы хотелось, чтобы значок Dock использовал метод makekeyandorderfront, чтобы открыть главное окно после его закрытия. Я сделал это с помощью кнопки, открывающей окно, но я не знаю, как это сделать с помощью значка Dock, потому что вы не можете установить соединение с ним в конструкторе интерфейса.

Ответы [ 2 ]

15 голосов
/ 07 июня 2009

В делегате NSApplication есть метод делегата:

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag;

, который вы можете использовать для обработки щелчков по значку приложения в доке. См. документацию .

6 голосов
/ 08 июня 2009

Есть еще один способ справиться с этим:

Вместо того, чтобы пытаться заново открыть окно приложения, щелкнув в доке, вы можете указать приложению завершиться, когда закроется последнее окно. Таким образом, у вас не будет значка активной док-станции, показывающего, когда нет открытых окон.

Поместите этот метод delagate в делегат приложения.

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication {
    return YES;
}

Какой метод вы выбрали, однако, зависит от вас и вашего приложения. Я предпочитаю использовать этот метод с приложениями, не основанными на документах, потому что не имеет смысла запускать ваше приложение, когда закрывается единственное окно для него.

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