Adicionando a pequena seta ao lado direito de uma célula em uma célula do iPhone TableView

138

Isso deve ser bastante simples.

Eu tenho um aplicativo para iPhone com um TableView. Como adiciono a pequena flecha clássica ao lado direito de cada célula?

Eric Brotto
fonte

Respostas:

317

Basta definir o respectivo accessoryType propriedade de UITableViewCell .

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

No Swift 3 ,

cell.accessoryType = .disclosureIndicator
EmptyStack
fonte
1
Observe que se você quiser girar a seta ... não poderá fazê-lo . Você precisa usar uma imagem .. stackoverflow.com/questions/13836606/…
Fattie 29/11/13
1
Para Swift, use cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
Quintin Balsdon
1
cell.accessoryType = .DisclosureIndicatortrabalha em Swift também.
Tim Vermeulen
SWIFT 3.0: cell.accessoryType = .disclosureIndicator
Brian
67

Você pode fazer isso no Interface Builder. Simplesmente clique na Visualização da tabela , vá para Células protótipo no lado direito e selecione 1. Depois clique na Célula protótipo e, à direita, procure Acessório . No menu suspenso, clique em Indicador de divulgação .

Exemplo do Interface Builder

rzv
fonte
Não consigo ver nada como "Células protótipo" no meu xCode ... Está disponível em algumas versões do xCode?
Rasto
Também não consigo encontrar "Células protótipo". Eu usei cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; na célula personalizada.
quer
1
hey @rzv, você pode ampliar a imagem um pouco mais? eu esqueci meus óculos
abbood
6

Você pode definir uma flecha clássica pequena como nos dois sentidos, como abaixo

1) Usando o método de tipo de acessório embutido de UITableViewCell

[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; 

2) Criando a própria visualização acessória com a própria imagem

(I) Arraste e solte uma imagem de seta (por exemplo, circle_arrow_right.png) em seu projeto

(II) No método de design de célula para cada linha, como abaixo

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

Escreva o código abaixo:

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: Escolha as imagens apropriadas para a visualização acessória e adicione as células desejadas. Escolha imagens pequenas para exibições acessórias para obter melhor desempenho.]

Lalit Kumar Maurya
fonte
3

Use a accessoryTypepropriedade da célula para mostrar uma seta no lado direito. Veja isso .

Mridul Kashatria
fonte
3

para seta simples:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

e para seta detalhada:

cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
Ravi_Parmar
fonte
cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator;)
G.
3

Swift 3:

cell.accessoryType = .disclosureIndicator
David Seek
fonte
2

A outra maneira de fazer isso é especificar UITableViewCellAccessoryDisclosureIndicatorquando você cria a célula. Para fazer isso, você provavelmente alocará init sua célula no método delegado tableViewCellWithReuseIdentifier (em seguida, continue para personalizar e configurar sua célula).

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

A melhor maneira é selecionar Disclosure Indicatorna Accessoryseção.

Uditha Prasad
fonte