2016-03-04 2 views
4

У меня есть индикатор активности в ячейке. Клетки обновления с NSFetchedResultsControllerСохранить состояние для индикатора активности в ячейке

func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?) { 
    switch type { 
     case .Update: 
      if let _indexPath = indexPath { 
      self.tableView.reloadRowsAtIndexPaths([_indexPath], withRowAnimation: .None) 
      } 
    } 

Моей проблемой, что после перезагрузки строки, индикатор состояние активности установлено в 0 снова и анимации выглядит с рывками.

enter image description here

Возможно ли это каким-то образом, чтобы сохранить состояние индикатора или не перезагрузить его ...

ответ

1

Там нет общественного API, чтобы получить или установить состояние UIActivityIndicatorView кроме оживляющий или скрыты. Я думаю, что лучше всего вы можете попробовать reloadRowsAtIndexPaths с некоторой анимацией ряда, чтобы увидеть, выглядит ли она лучше.

Еще одна дурацкая вещь, которая приходит на ум, вы можете сделать снимок UIActivityIndicatorView, добавить его в новую ячейку и угаснуть. (возможно, оживить даже вращение). Сделать это более гладко. Но это определенно плохая идея и не стоит проблем.

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