J'ai une vision utile des clients où une ligne / client est sélectionnée. L'utilisateur peut ensuite pousser une autre vue sur la pile UinavigationController pour ajouter un nouveau client. Lorsque je saute l'écran de l'enfant et revenez à l'UitailView, la ligne précédemment sélectionnée n'est plus sélectionnée. p>
Je peux ré-sélectionner la ligne dans la vue ViewDidAppear () mais il a l'air mauvais que vous pouvez voir le désélection et le choix. Existe-t-il un moyen de maintenir la ligne sélectionnée lors de son retour de l'écran enfant? P>
7 Réponses :
Par défaut, une ligne sélectionnée est désélectionnée (avec animation) lorsque vous reviendrez sur cette VC.
Donc, si vous appuyez sur DétacherViewController, la cellule reste sélectionnée jusqu'à ce que vous reveniez dans la racine racine de raccourci, puis obtient le désélection automatique. P>
J'avais aussi eu un tel problème. Assurez-vous de toujours appeler la mise en œuvre de la superclasse de méthodes telles que ViewWillappappear, ViewWilldisappear, etc.
En outre, n'appelez pas déselectrowwatidexpath: manuellement. P>
Vous ne pouvez pas avoir une TableViewCell sélectionné tout le temps. Cela revient à la normale une fois qu'elle sert de but. Je pense que vous vouliez dire Obtenez la ligne sélectionnée sur le Comment ça fait? P>
cellfrowortindexPath code>. Lorsque vous affichez votre contrôleur de navigation et revenez à la tableView, allez le
CellfrowrodIndexPath CODE> et avez-vous mis en surbrillance (vous pouvez utiliser n'importe quel Uicolor à votre guise) - Il n'y a pas de moyen spécifique de mettre en évidence des trucs - utilisation Votre imagination - Le style de surbrillance par défaut est bleu, tandis que le texte est blanc. P>
CellfrowrotinDExpath CODE> LI>
nsuserdefault code> et vous pouvez également utiliser
nsuserdefault code> pour communiquer entre l'écran pour savoir si l'article a été sauté à partir de cet écran. LI >
[TableView ReloadData] code> dans
ViewWillappear code> li>
CellfornorTindexpath code> et modifie cette cellule avec
Cell.backgroundColor code> ou quelque chose. Li>
ol>
Ceci est une erreur. Regardez ma réponse pour que les cellules de vue de la table sont en surbrillance et restez en surbrillance entre les transitions de la page.
Vous devez appeler:
[tableView deselectRowAtIndexPath:indexPath animated:YES];
Comment cela aide-t-il à résoudre le but d'avoir la ligne sélectionnée lorsque l'utilisateur revient de la vue enfant à la vue Master? Cela ne ferait-il pas que la ligne ne soit pas sélectionnée?
Si vous le sélectionnez dans la viewwillappear:, il devrait être sélectionné sans que l'utilisateur le voie. Cela résoudrait-il votre problème? P>
C'est ce que j'ai essayé et la réapplication est visible pour l'utilisateur. Je veux que la vue soit affichée avec la ligne sélectionnée déjà, comme si l'utilisateur a quitté l'écran sur l'écran de l'enfant.
Sans code, je peux simplement donner un conseil: arrêtez d'utiliser avec [TableView reloaddata] code>, utilisez
[TableView beginumdates] code>,
[TableView endupdates] Code> et
- INSERTROWSATIDEXPATHS: SANSROWANIMATION: CODE> ET
- RELODROWOWOWSATIDEXPATHS: SANSROWANIMATION: CODE>. Les choses devraient fonctionner comme prévu. P>
Je suppose que vous utilisez un contrôleur de vue de table, comme autrement, il est de votre responsabilité d'écrire ce comportement de toute façon. Dans un contrôleur de vue de table, cependant, c'est facile. Just Ajouter dans la vue ViewDiDload: qui conservera la ligne sélectionnée, sauf si vous désélectionnez manuellement la ligne ou que l'utilisateur sélectionne une autre ligne sur la table. P> P>
Ceci est possible:
En une fois cas: Si vous avez le contenu statique dans la TableView, P>
- (void)selectRowAtIndexPath:(NSIndexPath *)indexPath animated:(BOOL)animated scrollPosition:(UITableViewScrollPosition)scrollPosition;
Et par sélectionneur, voulez-vous dire surligné?
Pour l'intérêt de la sémantique, l'API appelle l'état Chrisp veut comme "sélectionné". Le look visuel est un point culminant, mais Apple en fait référence à titre de sélection. Par exemple, «Sélectionné: ',' DidSelectrowatidExpath: 'Etptera.