Comment sélectionner une UITableView
ligne par programme pour que
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
est exécuté? selectRowAtIndexPath
ne mettra en évidence que la ligne.
iphone
objective-c
cocoa-touch
uitableview
4thSpace
la source
la source
Réponses:
De la documentation de référence:
Ce que je ferais, c'est:
Et puis, à partir de l'endroit où vous vouliez appeler selectRowAtIndexPath, vous appelez à la place doSomethingWithRowAtIndexPath. En plus de cela, vous pouvez également appeler selectRowAtIndexPath si vous souhaitez que les commentaires de l'interface utilisateur se produisent.
la source
Comme Jaanus l'a dit:
Il vous suffit donc d'appeler la
delegate
méthode vous-même.Par exemple:
Version Swift 3:
Version ObjectiveC:
Version Swift 2.3:
la source
SelectRowAtIndexPath : animated: scrollPosition: devrait faire l'affaire.
UITableViewScrollPositionNone
Passez simplement pour scrollPosition et l'utilisateur ne verra aucun mouvement.Vous devriez également pouvoir exécuter manuellement l'action:
[theTableView.delegate tableView:theTableView didSelectRowAtIndexPath:indexPath]
après vous
selectRowAtIndexPath:animated:scrollPosition:
, la mise en évidence se produit ainsi que toute logique associée.la source
si vous voulez sélectionner une ligne cela vous aidera
Cela mettra également en évidence la ligne. Puis déléguez
la source
Solution Swift 3/4/5
Sélectionnez une ligne
DeSelect Row
la source
Il existe deux méthodes différentes pour les plates-formes iPad et iPhone, vous devez donc implémenter les deux:
segue.
la source
Utilisez cette catégorie pour sélectionner une ligne de table et exécuter une séquence donnée après un délai.
Appelez ceci dans votre
viewDidAppear
méthode:la source