J'ai créé un nouveau projet Xcode en utilisant les Storyboards (modèle de vue par onglets). J'ai ajouté quelques contrôleurs de vue à mon storyboard, et je voulais utiliser un UITableView avec des cellules statiques pour l'un d'entre eux. Je l'ai créé, mais lorsque je l'exécute dans le simulateur, les cellules n'apparaissent pas. Je n'ai rien changé dans le projet à l'exception de ce fichier de storyboard. Je montre des captures d'écran de l'éditeur de storyboard et du simulateur en cours d'exécution. L'étiquette s'affiche, donc la vue se charge correctement. J'ai défini la couleur d'arrière-plan en gris pour que je puisse voir que la vue se charge. Toutes les cellules sont définies comme visibles. J'ai changé leur style en Basic et modifié l'étiquette, et ajouté un indicateur de divulgation, c'est tout.
Réponses
Trop de publicités?N'implémentez aucune des méthodes ci-dessous lorsque vous utilisez la vue tableau statique :
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
}
Comme indiqué sur le site web de Ray Wenderlich (dans ce billet : Début des storyboards dans iOS 5 Partie 2 , section "L'écran d'ajout de lecteur au travail" ) :
Une dernière chose à propos des cellules statiques, elles ne fonctionnent que dans UITableViewController. L'éditeur de Storyboard vous permettra de les ajouter à un objet Table View à l'intérieur d'un UIViewController normal, mais cela ne fonctionnera pas fonctionnera pas pendant l'exécution. La raison en est que UITableViewController fournit une magie supplémentaire pour prendre soin de la source de données pour les cellules statiques. Xcode vous empêche même de compiler un tel projet avec le message d'erreur " Configuration illégale : Les vues de tables statiques sont seulement valides lorsqu'elles sont intégrées dans des instances UITableViewController".
J'ai eu le même problème mais cela clarifie les choses...
J'ai rencontré le même problème, et la solution qui a fonctionné pour moi a été de présenter la sous-classe statique de UITableViewController en utilisant performSegue.
Présenter le ancienne méthode con [[self navigationController] present...]
ne permettait pas à la vue tableau statique de charger correctement ses cellules.