Хорошие способы динамического создания начального образа приложения для iPhone / iPad - PullRequest
1 голос
/ 21 апреля 2010

Я занимаюсь самообучением для iPhone и вижу, что одним из аспектов приложения для iPhone / iPad является начальное изображение, которое отображается при запуске приложения. Мне бы хотелось, чтобы мое начальное изображение отображало некоторую основную информацию о пользователе при запуске приложения, но эта информация должна сначала собираться пользователем при первом запуске приложения. Это говорит мне о том, что мне либо нужно динамически генерировать начальное изображение после того, как пользователь вводит свою информацию, либо мне нужно поместить какую-то метку поверх моего статического начального изображения, чтобы выполнить это. Когда приложение запускается в первый раз и до того, как пользователь вводит свои данные, начальное изображение может быть чем угодно или вообще ничего, меня это не беспокоит.

Итак, мои вопросы ...

  1. Можете ли вы поместить элементы управления, например метку, поверх начального изображения при запуске приложения?
  2. Если нет, каков хороший подход к динамической генерации начального изображения после первого запуска приложения и сбора информации о пользователе?
  3. Если нет способа изменить это начальное изображение (спасибо, Кристофер!), Могу ли я вместо этого отображать мое динамически генерируемое изображение в течение заданного промежутка времени (~ 3 секунды), как только начальное изображение закрывается? Нужно ли вообще использовать стартовое изображение?

Заранее большое спасибо за вашу помощь! Я собираюсь начать исследование этого вопроса прямо сейчас.

Ответы [ 3 ]

4 голосов
/ 21 апреля 2010

Чтобы ответить на номер 3, да, вам нужно стартовое изображение. Он должен выглядеть как динамическое начальное изображение, но без динамической информации.

Для краткого отображения динамической информации после запуска, просто используйте модальный контроллер вида поверх любого контроллера вида, который появляется первым (называемый viewController ниже):

SplashScreenController *splashScreen = [[SplashScreenController alloc] initWithNibName:@"SplashScreenController" bundle:nil];
[viewController presentModalViewController splashScreenController animated:NO];
[splashScreenController release];

[viewController performSelector:@selector(dismissModalViewControllerAnimated:) withObject:YES afterDelay:3];

Очевидно, вам нужно создать подкласс UIViewController и файл xib с именем SplashScreenController.

2 голосов
/ 21 апреля 2010

Приложения не могут изменить свои начальные изображения. Эти файлы изображений, а также другие файлы в комплекте приложения рассматриваются ОС только для чтения.

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

После запуска приложения вы можете отображать все, что захотите.

1 голос
/ 21 апреля 2010

Я делаю нечто похожее на то, что вы пытаетесь выполнить, за исключением того, что я не отображаю информацию о пользователе. Если вы хотите увидеть, что я сделал, проверьте мое приложение How Long Can You Tap It (бесплатно). Самое первое изображение, как упоминал Кристофер, не меняется. Он будет отображаться столько, сколько требуется приложению для загрузки. Затем изображение исчезнет и покажет ваш начальный viewController, который будет тем, что вы хотите. В моем приложении это просто то же изображение, что и исходное изображение, но вместо того, чтобы сказать LOADING, я отображаю текст, говорящий вам, чтобы коснуться экрана, чтобы начать воспроизведение. Если вы не хотите, чтобы пользователь продолжал нажимать на экран, вы можете сделать то, что сказал Фрэнк, и отклонить его в течение Х секунд. Если вам нужно больше кода, чем предоставил Фрэнк, сообщите нам.

...