2011-08-22 11 views

Odpowiedz

16

Szukasz metody reloadRowsAtIndexPaths: na UITableView. Spowoduje to ponowne obliczenie wysokości (i późniejszego przerysowania) określonych komórek. Może nawet animować dopasowanie, aby można było aktualizować w czasie rzeczywistym, gdy użytkownik przewija, tak że widok tabeli nie "szarpnie" lub "krok zacinania", podczas gdy wysokości są ponownie obliczane. Po prostu zaimplementowałem to z powodzeniem, aby zrobić to, co opisałeś.

Źródło: Update UITableViewCell without reload

+4

Przeładunki tabeli może odwołać klawiaturę jeśli wysokość wiersza za zmiany. – aksommerville

+0

Oczywiście. Jest to prawdą za każdym razem, gdy przerysujesz dane wejściowe w UIKit ... –

+4

Pytanie to w szczególności wymaga sposobu na to, bez odrzucania klawiatury. reloadRowsAtIndexPaths odrzuca klawiaturę –

0

Można zadzwonić beginUpdates && endUpdates, będą powoduje wysokości komórka tabeli należy recaluclated, bez przeładowywania całej komórkę

  UIView.setAnimationsEnabled(false) 

      self.tableView.beginUpdates() 
      self.tableView.endUpdates() 
      // Re-enable animations 
      UIView.setAnimationsEnabled(true) 
Powiązane problemy