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

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


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



3

para flecha simple:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

y para la flecha detallada:

cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator;)
— MR


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];

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.