Ich habe einen UITableView
in Interface Builder mit erstellt storyboards
. Das UITableView
ist eingerichtet mit static cells
und eine Reihe von verschiedenen Abschnitten.
Das Problem ist, dass ich versuche, meine App in mehreren verschiedenen Sprachen einzurichten. Dazu muss ich in der Lage sein, die UITableView
Abschnittsüberschriften irgendwie zu ändern .
Kann mir bitte jemand helfen? Idealerweise möchte ich mich dem Problem mit nähern, IBOutlets
aber ich vermute, dass dies in diesem Fall nicht einmal möglich ist. Jeder Rat und Anregungen wäre sehr dankbar.
Danke im Voraus.
iphone
ipad
uitableview
uistoryboard
iboutlet
Der verrückte Schimpanse
quelle
quelle
numberOfSectionsInTableView:tableView:
, um es aufzurufen.numberOfSectionsInTableView:tableView:
in IB für statische Zellen implementiert.numberOfSectionsInTableView:
, wird die title-Methode aufgerufen und das Storyboard überschrieben . Da dies eine statische Tabellenansicht ist, ist es ziemlich in Ordnung, sie mit einer Methode zu überschreiben, die eine konstante Zahl @wcochranWenn Sie Code in Swift schreiben, sieht dies wie folgt aus
quelle
Verwenden Sie die UITableViewDataSource-Methode
quelle
titleForHeaderInSection ist eine Delegatmethode von UITableView , um den Headertext des Abschnittsschreibens wie folgt anzuwenden:
quelle
Beachten Sie, dass
-(NSString *)tableView: titleForHeaderInSection:
dies von UITableView nicht aufgerufen wird, wenn- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
es im Delegaten von UITableView implementiert ist.quelle
Abschnittsbeschriftungstext werden gesetzt.
quelle
(Original)
Ich hatte eine ähnliche Anforderung. Ich hatte eine statische Tabelle mit statischen Zellen in meinem Main.storyboard (Base). Um Abschnittstitel mithilfe von .string-Dateien zu lokalisieren, z. B. Main.strings (deutsch), wählen Sie einfach den Abschnitt im Storyboard aus und notieren Sie sich die Objekt-ID
Gehen Sie anschließend zu Ihrer String-Datei, in meinem Fall Main.strings (Deutsch), und fügen Sie die Übersetzung wie folgt ein:
Zusätzliche Ressourcen:
quelle
Ich weiß nichts über frühere Versionen von
UITableView
Protokollen, aber ab iOS 9func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String?
ist dies Teil desUITableViewDataSource
Protokolls.Sie müssen das nicht deklarieren
delegate
, um Ihre Tabelle mit Daten zu füllen.quelle