UIActivityIndicatorView проблема с анимацией - PullRequest
1 голос
/ 22 марта 2012

Я использую UIActivityIndicatorView как IBOutlet. Я пытаюсь управлять им, используя [activityView startAnimating] и [activityView stopAnimating].

Я включил режимы «Скрывает при остановке» и «Анимация» в файле XIB.

Я хочу запустить анимацию вращения для нескольких действий пользователя внутри контроллера. Но после первого вызова [activityView stopAnimating] он не отвечает на вызов [activityView startAnimating] снова.

Это означает, что спиннер исчез после первого [activityView stopAnimating] вызова.

Я пытался activeView.hidden = NO; перед следующим [activityView startAnimating] звонком. Но это не работает.

Есть идеи по этому вопросу?

Отредактированный

После того, как мой контроллер загружен, я выполняю следующие действия,

do {

    [self.activityIndicator startAnimating];
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

    [webServiceCallOperation getResults];

    [self.activityIndicator stopAnimating];
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

} while (![webServiceCallOperation isValideResponse] || [webServiceCallOperation isServerError]);

В том же контроллере у меня есть IBAction для нажатия кнопки.

- (IBAction)tappedSearchButton:(id)sender
{    
    [self.activityIndicator startAnimating];
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;

    [self tappedSearchButtonAction];

    [self.activityIndicator stopAnimating];
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}

Я заметил, что спиннер не начинает анимироваться сразу после вызова [self.activityIndicator startAnimating];. Используя [self tappedSearchButtonAction];, я звоню в веб-сервис и перехожу к просмотру результатов поиска. Блесна начинает анимироваться непосредственно перед сменой вида. Вот почему я этого не видел. Но я предполагаю анимировать его перед вызовом веб-службы и должен анимировать его во время вызова моего веб-сервиса.

Такое же поведение индикатора сетевой активности.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2012

Он начинает анимацию, потому что, как вы говорите, вы включили анимацию в файле XIB.Но после того, как вы остановите его в первый раз, он больше не анимируется, пока вы не запустите его снова программно.

0 голосов
/ 22 марта 2012

Как предложила Аадхира, проверьте выпуск и если вы делаете вызовы в главном потоке.

[NSObject performSelectorOnMainThread:@selector(SEL) withObject:nil waitUntilDone:YES];
...