Использование индикатора выполнения Загрузите новый вид - PullRequest
0 голосов
/ 25 мая 2009

В моем приложении одно из моих представлений загружается дольше, чем обычно (это представление с прокруткой со многими изображениями), поэтому я решил, что я дам пользователю знать, что происходит во время загрузки представления. Поэтому я вставил индикатор выполнения, который использует таймер для определения продолжительности загрузки. Единственная проблема заключается в том, что при нажатии кнопки iPhone все еще загружает вид, а затем, когда открывается новый вид, появляется индикатор выполнения и запускается таймер. Как настроить его так, чтобы индикатор выполнения отображался в том же виде, что и кнопка, и чтобы при нажатии кнопки загружался второй вид, а когда индикатор выполнения заполнялся, переходил во второй режим. Вот код, который у меня есть.

- (void) button
{{</p>

<code>if (!self.baseSheet) {
    baseSheet = [[UIActionSheet alloc] 
                 initWithTitle:@"Please Wait" 
                 delegate:self 
                 cancelButtonTitle:nil 
                 destructiveButtonTitle: nil
                 otherButtonTitles: nil];
    [baseSheet setNumberOfRows:5];
    [baseSheet setMessage:@"Loading Photos"];

    UIProgressView *progbar = [[UIProgressView alloc] initWithFrame:CGRectMake(50.0f, 70.0f, 220.0f, 90.0f)];
    progbar.tag = PROGRESS_BAR;
    [progbar setProgressViewStyle: UIProgressViewStyleDefault];
    [baseSheet addSubview:progbar];
    [progbar release];
}

UIProgressView *progbar = (UIProgressView *)[self.view viewWithTag:PROGRESS_BAR];
[progbar setProgress:(amountDone = 0.0f)];
[NSTimer scheduledTimerWithTimeInterval: 0.5 target: self selector: @selector(incrementBar:) userInfo: nil repeats: YES];
[baseSheet showInView:self.view];

[[self navigationController] pushViewController:[[ScrollViewController alloc] init]
                                       animated:YES];
</code>

}}

1 Ответ

0 голосов
/ 25 мая 2009

Вы пытались поместить подпрограмму индикатора выполнения в совершенно отдельный метод?

Иногда я также сталкиваюсь с проблемами со скоростью выполнения некоторых подпрограмм в методе - особенно с изменениями, связанными с UIView / UIImageView. Иногда изменения в определенных подпрограммах, относящихся к представлению, на самом деле обновляются на экране быстрее, чем выполняемые материалы ДО того, как они действительно появятся . Я обнаружил, что обычно могу исправить это, помещая подпрограммы, отображающие изменения представления, слишком поздно в совершенно отдельный метод и вызывая этот метод ДО.

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