J'ai créé un UITableView
dans Interface Builder en utilisant storyboards
. Le UITableView
est configuré avec static cells
et un certain nombre de sections différentes.
Le problème que je rencontre est que j'essaie de configurer mon application dans plusieurs langues différentes. Pour ce faire, je dois être en mesure de changer les UITableView
titres des sections d'une manière ou d'une autre.
S'il vous plaît, quelqu'un peut-il m'aider? Idéalement, j'aimerais aborder le problème en utilisant, IBOutlets
mais je soupçonne que ce n'est même pas possible dans ce cas. Tous les conseils et suggestions seraient vraiment appréciés.
Merci d'avance.
la source
numberOfSectionsInTableView:tableView:
en œuvre pour le faire appeler.numberOfSectionsInTableView:tableView:
implémenté dans IB pour les cellules statiques.numberOfSectionsInTableView:
, alors la méthode title est appelée et surérode le storyboard. Puisqu'il s'agit d'une vue de table statique, il est tout à fait normal de la remplacer par une méthode qui renvoie un nombre constant @wcochranSi vous écrivez du code en Swift, cela ressemblerait à un exemple comme celui-ci
la source
Utilisez la méthode UITableViewDataSource
la source
titleForHeaderInSection est une méthode déléguée de UITableView afin d'appliquer le texte d'en-tête de la section, écrivez comme suit,
la source
Notez que
-(NSString *)tableView: titleForHeaderInSection:
n'est pas appelé par UITableView si- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
est implémenté dans le délégué de UITableView;la source
le texte de l'étiquette de section est défini.
la source
(original)
J'avais une exigence similaire. J'avais une table statique avec des cellules statiques dans mon Main.storyboard (Base). Pour localiser les titres de section à l'aide de fichiers .string, par exemple Main.strings (allemand), sélectionnez simplement la section dans le storyboard et notez l'ID de l'objet
Ensuite, allez dans votre fichier de chaîne, dans mon cas Main.strings (allemand) et insérez la traduction comme:
Ressources supplémentaires:
la source
Je ne connais pas les versions antérieures des
UITableView
protocoles, mais à partir d'iOS 9, celafunc tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String?
fait partie duUITableViewDataSource
protocole.Vous n'avez pas besoin de déclarer le
delegate
pour remplir votre table avec des données.la source