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.