Ajout de la petite flèche sur le côté droit d'une cellule dans une cellule iPhone TableView

138

Cela devrait être assez simple.

J'ai une application iPhone avec un TableView. Comment ajouter la petite flèche classique sur le côté droit de chaque cellule?

Eric Brotto
la source

Réponses:

317

Il suffit de régler la respective accessoryType propriété de UITableViewCell .

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

Dans Swift 3 ,

cell.accessoryType = .disclosureIndicator
EmptyStack
la source
1
Notez que si vous souhaitez faire pivoter la flèche ... vous ne pouvez pas le faire . Vous devez utiliser une image .. stackoverflow.com/questions/13836606/…
Fattie
1
Pour Swift, utilisez simplement cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
Quintin Balsdon
1
cell.accessoryType = .DisclosureIndicatorfonctionne également dans Swift.
Tim Vermeulen
SWIFT 3.0: cell.accessoryType = .disclosureIndicator
Brian
67

Vous pouvez le faire dans Interface Builder. Cliquez simplement sur la vue de la table , allez à Prototype Cells sur le côté droit et faites-le 1. Cliquez ensuite sur cette Prototype Cell et sur la droite recherchez Accessory . Dans la liste déroulante, cliquez sur Indicateur de divulgation .

Exemple d'interface Builder

rzv
la source
Je ne vois rien comme "Cellules prototypes" dans mon xCode ... Est-il disponible dans certaines versions de xCode?
Rasto
Je ne trouve pas non plus "Prototype Cells". J'ai utilisé cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; dans une cellule personnalisée.
Arkady
1
hey @rzv pouvez-vous agrandir un peu plus l'image? J'ai oublié mes lunettes
abbood
6

Vous pouvez définir une petite flèche classique dans les deux sens comme ci-dessous

1) Utilisation de la méthode de type accessoire intégrée de UITableViewCell

[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; 

2) Créer sa propre vue accessoire avec sa propre image

(I) Faites glisser et déposez une image de flèche (par exemple, circle_arrow_right.png) dans votre projet

(II) Dans la méthode de conception de cellule pour chaque ligne comme ci-dessous

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

Écrivez ci-dessous le code:

if (cell ==nil) {
    cell=[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault  reuseIdentifier:CellIdentifier]autorelease];

    //For creating custom accessory view with own image
    UIImageView *accessoryView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
    [accessoryView setImage:[UIImage imageNamed:@"circle_arrow_right.png"]];
    [cell setAccessoryView:accessoryView];
    [accessoryView release];

    //Your other components on cells
     .............
    .............

 }

[ Remarque: choisissez les images appropriées pour la vue accessoire et ajoutez les cellules souhaitées. Choisissez de petites images pour les vues accessoires pour de meilleures performances.]

Lalit Kumar Maurya
la source
3

Utilisez la accessoryTypepropriété de la cellule pour afficher une flèche sur le côté droit. Regarde ça .

Mridul Kashatria
la source
3

pour une flèche simple:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

et pour la flèche détaillée:

cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
Ravi_Parmar
la source
cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator;)
MR
3

Swift 3:

cell.accessoryType = .disclosureIndicator
David Seek
la source
2

L'autre façon de procéder consiste à spécifier le UITableViewCellAccessoryDisclosureIndicatormoment où vous créez la cellule. Pour ce faire, vous allouerez probablement init votre cellule dans la méthode de délégation tableViewCellWithReuseIdentifier (puis procédez à la personnalisation et à la configuration de votre cellule).

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellAccessoryDisclosureIndicator reuseIdentifier:identifier];
Kyle Clegg
la source
0

Le meilleur moyen est de sélectionner Disclosure Indicatordans la Accessorysection.

Uditha Prasad
la source