Как показать заставку во время запуска приложения Какао? - PullRequest
7 голосов
/ 26 марта 2009

Я хотел бы показать пользователю заставку (рисунок) во время запуска моего приложения на основе какао. Как это возможно?


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


Первое. Большое спасибо. И я показываю окно в методе applicationWillFinishLaunching use orderFront, затем скрываю его в applicationDidFinishLaunching: use orderOut, теперь я обнаружил, что mainWindow не отображается, а приложение закрывается, почему? Как сделать, чтобы решить этот вопрос? Спасибо!

Ответы [ 4 ]

11 голосов
/ 26 марта 2009

Хотя ответ Питера в конечном итоге правильный (вы должны переписать ваше приложение для более быстрого запуска), иногда это не практичный вариант. Например, загрузка кода позже в приложении может занять слишком много времени (например, приложение для сбора данных), заставляя его загружаться при запуске. Если вы решите, что хотите показать заставку, самый простой способ - показать это в методе applicationWillFinishLaunching: делегата приложения. Создайте всплывающее окно в своих приложениях MainMenu.nib и добавьте выход в делегат приложения, ссылающийся на это окно. Затем вы можете поместить окно на экране в applicationWillFinishLaunching: и скрыть его в applicationDidFinishLaunching:. Обратите внимание, что NSRunLoop основного потока не повторяется в течение этого времени, поэтому, если вы хотите обновить заставку (со статусом, индикатором выполнения или чем-то подобным), вам нужно будет самостоятельно управлять этими событиями перерисовки.

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

6 голосов
/ 26 марта 2009

Почему вы ненавидите своих пользователей?

Серьезно, не делай этого. Не заставляйте пользователей ждать, чтобы использовать ваше приложение. Вместо этого быстро запустите приложение.

(И на всякий случай, если вы настаиваете на ответе: покажите окно с изображением в нем, а затем скройте окно, когда почувствуете, что пользователь ждал достаточно долго.)

0 голосов
/ 29 марта 2011

Ответ Барри выше, похоже, не работает для приложений на основе документов. Отображение всплывающего окна внутри applicationWillFinishLaunching: влияет на последовательность запуска приложения, так что окно документа не создается. Я загрузил пример проекта здесь . В applicationWillFinishLaunching: закомментируйте [_splashWindow orderFront:self ] и откроется окно документа.

0 голосов
/ 26 марта 2009

Просто откройте окно с изображением и закройте его, когда закончите инициализацию запуска.

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