2016-04-20 3 views
0

В UIView Я взял один UIProgressView, чтобы показать прогресс данных, загруженных с сервера, и для отображения этих данных я взял UITableView. Веб-сервис - через опрос, поэтому данные загружаются, я загружаю его в UITableView. Но когда пользователь прокручивает UITableView, ProgressBar остановил свой прогресс, но когда снова я останавливаю свой ручной свиток UITableView, то время снова индикатор Progress начинает свой прогресс с последней приостановленной позиции.UIProgressView приостанавливается, когда пользователь прокручивает UITableView в iOS

код, который я Написано:

Взятые выход:

IBOutlet UIProgressView *pgrsVw; 

Когда я начинаю мой веб-службы вызова:

pgrsVw.progress = 0.0; 
pgrsVw.hidden=false; 
[self performSelectorOnMainThread:@selector(makeMyProgressBarMoving) withObject:nil waitUntilDone:NO]; 

Теперь, чтобы показать прогресс:

- (void)makeMyProgressBarMoving 
{ 
    float actual = [pgrsVw progress]; 
    if (actual < 1) 
    { 
     pgrsVw.progress = actual + PROGRESSOFDATA; 
     [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(makeMyProgressBarMoving) userInfo:nil repeats:NO]; 
    } 
    else 
    { 
     pgrsVw.progress=1.0; 
     pgrsVw.hidden=true; 
    } 
} 

Теперь, когда загрузка данных завершена:

pgrsVw.progress=1.0; 

ответ

1

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

Измененный код:

NSTimer *timer = [NSTimer timerWithTimeInterval:0.10 target:self selector:@selector(makeMyProgressBarMoving) userInfo:nil repeats:NO]; 
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]; 
+0

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

 Смежные вопросы

  • Нет связанных вопросов^_^