2015-08-15 4 views
0

I значок в моих ячейках, когда fav кнопка нажата Я хочу ее отобразить without reloading the whole table.swift - перезагрузка tableviewcell с анимацией с dispatch_async

Поэтому я использую:

dispatch_async(dispatch_get_main_queue(), {() -> Void in 
self.tableView.reloadData() 
}) 

Это перезагружает таблицу мгновенно, я хочу, плавную анимацию. Я нашел это, кажется, что его работа для objectC, Как я могу это сделать в swift?

/Put this code where you want to reload your table view 
dispatch_async(dispatch_get_main_queue(), ^{ 
     [UIView transitionWithView:<"TableName"> 
          duration:0.1f 
          options:UIViewAnimationOptionTransitionCrossDissolve 
         animations:^(void) { 
          [<"TableName"> reloadData]; 
         } completion:NULL];  
    }); 

ответ

0

кажется, что вы можете использовать этот метод

class func transitionWithView(view: UIView, duration: NSTimeInterval, options: UIViewAnimationOptions, animations:() -> Void, completion: ((Bool) -> Void)?) 

Это равно коду, который вы использовали с OC.

0

Простой способ перезагрузить раздел А таблицы с анимацией использует что-то вроде этого:

YOUR_TABLE.reloadSections(NSIndexSet(index: 0), withRowAnimation: UITableViewRowAnimation.Automatic) // You can try different UITableViewRowAnimations to see what you like 

Edit: Следует отметить, это будет перезагрузить первый раздел вашего представления таблицы с заданным анимация. Вы можете поместить это внутри своего асинхронного вызова.

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