2017-04-23 8 views
0

Gibt es eine Möglichkeit, dass ich nur tableViewCell nur neu laden kann, aber teleView table View nicht neu laden? wenn ich UITableViewCell wechselte ich möchte Änderungsdaten reloadWie tableViewCell nur in swift neu laden?

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

     switch self[selectedIndex] { 

     case .tracks: 

     let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as! TracksCell 
     return cell 

     case .playlists: 

      let cell = tableView.dequeueReusableCell(withIdentifier: cellPlayListId, for: indexPath) as! PlaylistCell 

     return cell 

     } 

aktualisieren Was ich UITableViewCell gerade tun möchte, ist nachladen nur ich will nicht unter

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {} 

diesen Code neu zu laden, wenn ich Tableview verwenden. reload() es wird mein Stil in ViewForHeaderInSection bewirkt, weil ich UIViewScroll hinzugefügt habe

danke für Ihre Hilfe!

Antwort

4

Wenn Sie nur bestimmte Zelle Tableview dann diese neu geladen werden sollen verwenden:

tableView.reloadRows(at: [IndexPath(row: rowNumber, section: 0)], with: .automatic) 

Es einzige Zelle neu zu laden nicht die Seite.

+0

Was ist RowNumber? – Kristoff

+0

@Kristall Deklaration ist func reloadRows (bei indexPaths: [IndexPath], mit Animation: UITableViewRowAnimation), wobei indexPath ein Array von NSIndexPath-Objekten ist, die die neu zu ladenden Zeilen identifizieren. – user3441734

+0

@Kristof rowNumber bedeutet, welche Nummer der Zelle Sie neu laden möchten. Wenn Sie die Zelle Nummer 2 neu laden möchten, schreiben Sie wie folgt. tableView.ReloadRows (bei: [IndexPath (Zeile: 2, Abschnitt: 0)], mit: .automatic) –

Verwandte Themen