2012-06-04 4 views
0

В моем приложении я просто реализую блок dispatch_async, который будет захватывать изображения из NSDictionary, а затем, когда изображение будет готово, установите его в UITableViewCell UIImageView. Я хочу сделать UIActivityIndicatorAppear в середине UIImageView UITableViewCell, в то время как dispatch_async происходит.UIActivityIndicatorView во время dispatch_async?

Это мой код для блока dispatch_async:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^(void) { 
     NSData *data = [myDictionary objectForKey:@"myKey"]; 
     UIImage *cellImage = [UIImage imageWithData:data]; 

     //we get the main thread because drawing must be done in the main thread always 
     dispatch_async(dispatch_get_main_queue(),^ { 
      [cell.imageView setImage:cellImage]; 
     }); 

    }); 

В любом случае это возможно? И если да, то как?

Спасибо!

ответ

1

Покажите индикатор хода доdispatch_async и удалите или скройте его в главном блоке очереди, где вы установили изображение.

+0

Я мог бы, но это означало бы, что все мои ячейки UITableView отображают его сразу и сразу скрывают. Я хочу, чтобы EACH UITableViewCell спрятал его, когда его изображение установлено. –

+0

Если все они отображают изображение сразу, возможно, даже нет необходимости в втором потоке. Вы можете использовать этот шаблон и показать один центральный индикатор прогресса. – Mundi

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