Je crée une application basée sur UINavigationController. Et dans la première vue, j'ai un UITableViewController.UITableViewController cellule fadeout
Je veux avoir le même comportement que l'application Contacts. 1) l'utilisateur Sélectionner un contact 2) Contact show Détails du système 3) L'utilisateur sélectionne Qué bouton retour 4) Le système revient au tableview et fadeOut la cellule
je ne peux le faire si je crée un UIViewController et un xib avec un UITableView. Et puis ajoutez le code suivant:
- (void)viewDidAppear:(BOOL)animated{
if ([self.mytableView indexPathForSelectedRow] != nil){
[self.mytableView deselectRowAtIndexPath:[self.mytableView indexPathForSelectedRow] animated:YES];
}
}
Je ne veux vraiment pas avoir un xib que pour cela. Alors est-il possible de le faire avec un UITableViewController?
Oui, je sais, mais quand je l'Override viewDidAppear: animé pour désélectionner la ligne, il ne fonctionnera pas, parce que le UITableViewController désélectionne déjà la ligne, mais ne montre pas la ligne à l'utilisateur. Désolé pour le mauvais anglais ... – Baltas
Peut-être pourriez-vous essayer d'utiliser 'scrollToRowAtIndexPath: atScrollPosition: animé:' pour rendre la ligne sélectionnée visible avant de la désélectionner. Vous pouvez essayer de le faire soit au-dessus de l'appel de 'deselectRowAtIndexPath: animated:' dans 'viewDidAppear' ou peut-être plus tôt dans' viewWillAppear'. –
Ok, j'ai trouvé le problème. Dans le viewWillAppear j'ai le [self.tableView reloadData] parce que je peux changer le contenu de mes données. Et si je teste le [self.tableView indexPathForSelectedRow] avant le reloadData, je reçois zéro, ce qui n'a pas fonctionné. Si je n'appelle pas la méthode reloadData, la cellule se déconnecte correctement, mais mes données peuvent ne pas être à jour, alors y a-t-il un autre moyen d'y parvenir? – Baltas