Agregar la pequeña flecha al lado derecho de una celda en una celda TableView de iPhone

Respuestas:

317

Simplemente configure la propiedad respectiva accesorioTipo de UITableViewCell .

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

En Swift 3 ,

cell.accessoryType = .disclosureIndicator
EmptyStack
fuente
1
Tenga en cuenta que si desea rotar la flecha ... no puede hacerlo . Tienes que usar una imagen ... stackoverflow.com/questions/13836606/…
Fattie
1
Para Swift, simplemente use cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
Quintin Balsdon el
1
cell.accessoryType = .DisclosureIndicatorTambién funciona en Swift.
Tim Vermeulen
SWIFT 3.0: cell.accessoryType = .disclosureIndicator
Brian
67

Puede hacer esto en Interface Builder. Simplemente haga clic en haga clic en la Vista de tabla , vaya a Prototype Cells en el lado derecho y hágala 1. Luego haga clic en Prototype Cell y en el lado derecho busque Accesorio . En el menú desplegable, haga clic en Indicador de divulgación .

Ejemplo de Interface Builder

rzv
fuente
No puedo ver nada como "Prototype cells" en mi xCode ... ¿Está disponible en algunas versiones de xCode?
Rasto
Tampoco puedo encontrar "Prototype Cells". He usado cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; en celda personalizada.
Arkady
1
oye @rzv, ¿puedes ampliar la imagen un poco más? Olvidé mis lentes
abbood
6

Puede establecer una pequeña flecha clásica como en dos direcciones como se muestra a continuación

1) Uso del método de tipo de accesorio incorporado de UITableViewCell

[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; 

2) Crear una vista de accesorio propia con imagen propia

(I) Arrastre y suelte una imagen de flecha (es decir, circle_arrow_right.png) en su proyecto

(II) En el método de diseño de celda para cada fila como se muestra a continuación

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

Escriba el siguiente código:

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
     .............
    .............

 }

[ Nota: Elija las imágenes apropiadas para la vista de accesorios y agregue las celdas que desee. Elija imágenes pequeñas para vistas accesorias para un mejor rendimiento.]

Lalit Kumar Maurya
fuente
3

Use la accessoryTypepropiedad de la celda para mostrar una flecha en el lado derecho. Mira esto .

Mridul Kashatria
fuente
3

para flecha simple:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

y para la flecha detallada:

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

Swift 3:

cell.accessoryType = .disclosureIndicator
David Seek
fuente
2

La otra forma de hacerlo es especificar UITableViewCellAccessoryDisclosureIndicatorcuándo se crea la celda. Para hacer esto, es probable que asigne init su celda en el método de delegado tableViewCellWithReuseIdentifier (luego proceda a personalizar y configurar su celda).

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

La mejor manera es seleccionar Disclosure Indicatoren la Accessorysección.

Uditha Prasad
fuente