2017-06-21 1 views
0

Ich habe dies geschrieben, um auf Schriftartänderungen in der Einstellung zu hören.iOS TableView neu laden, wenn es eine Änderung in der Schriftart in der Einstellung gibt

func setUpNotification() { 
    NotificationCenter.default.addObserver(self, 
              selector: #selector(reloadTable), 
              name: .UIContentSizeCategoryDidChange, 
              object: nil) 

} 

func reloadTable() { 
    self.tblListing.reloadData() 
} 

Ich setze auch Schriftart so.

Nach Benutzer Schriftart ändern und zurück zur App kommen, ändern sie tatsächlich Schriftart. Problem ist, dass, wenn meine Tabellenansicht 2 Zellen anzeigt (diese sind sichtbar), sie sich nur zu 1 Zelle ändern, obwohl die gesamte Tabellenansicht erfolgreich neu geladen wurde. Sie werden mit Self-Sizing-Zelle erstellt und meine Einschränkungen sind auch in Ordnung. Darf ich wissen, wie ich das lösen kann?

+0

Ihr Problem, was Sie Ihre cellForRowAtIndexPath Methode veröffentlichen können kann nicht helfen? oder wie Sie Ihr TableView neu laden? –

Antwort

0

Sie müssen estimadedRowHeight und rowHeight Eigenschaften Ihres tableView berücksichtigen. Beispiel:

tableView.estimatedRowHeight = 89 //Height that is applicable for you 
tableView.rowHeight = UITableViewAutomaticDimension 

Edit: Wenn das nicht nehmen a look here

Verwandte Themen