Как я могу отобразить индикатор выполнения перед запуском приложения на IPhone? - PullRequest
0 голосов
/ 28 марта 2012

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

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

Вы не можете. Приложение должно быть запущено, прежде чем вы сможете показать любой динамический контент. После загрузки вашего первого ViewController вы, конечно, можете показать индикатор выполнения и выполнить загрузку. До этого вы можете показывать только статическое изображение Default.png & Default@2x.png. Если вы отложите тяжелую загрузку до того, как ваш -[ViewController viewDidLoad] -метод закончится, вы можете показать любой тип графического интерфейса при выполнении тяжелой работы.

Edit: В этом примере будет отсоединен новый поток в вашем viewDidLoad и проделана некоторая тяжелая работа (в данном случае - сон в течение 1 секунды), а также обновится UIProgressView и будет записываться ход выполнения, пока он спит 10 раз, увеличивая при этом значение progressview на 0,1 каждый раз.

- (void)viewDidLoad
{
 // .....
   [NSThread detachNewThreadSelector:@selector(workerBee) toTarget:self withObject:nil];
}

- (void)workerBee
{
    NSAutoreleasePool* workerPool = [[NSAutoreleasePool alloc] init];

    // Put your image loading between this line and [workerpool release]

    for (float i = 0; i<1; i+= 0.1)
    {
        [self performSelectorInBackground:@selector(updateProgress:) withObject:[NSNumber numberWithFloat:i]];
        sleep(1000);
    }
    [workerPool release];
}

- (void)updateProgress:(NSNumber*)number
{
    NSLog("Progress is now: %@", number);
    [progressView setProgress:[number floatValue]];
}
0 голосов
/ 28 марта 2012

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

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