Hinzufügen des kleinen Pfeils auf der rechten Seite einer Zelle in einer iPhone TableView-Zelle

138

Dies sollte einfach genug sein.

Ich habe eine iPhone App mit einem TableView. Wie füge ich den kleinen klassischen Pfeil rechts neben jeder Zelle hinzu?

Eric Brotto
quelle

Antworten:

317

Legen Sie einfach die entsprechende accessoryType- Eigenschaft von UITableViewCell fest .

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

In Swift 3 ,

cell.accessoryType = .disclosureIndicator
EmptyStack
quelle
1
Beachten Sie, dass Sie den Pfeil nicht drehen können , wenn Sie ihn drehen möchten . Sie müssen ein Bild verwenden .. stackoverflow.com/questions/13836606/…
Fattie
1
Für Swift verwenden Sie einfach cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
Quintin Balsdon
1
cell.accessoryType = .DisclosureIndicatorfunktioniert auch in Swift.
Tim Vermeulen
SWIFT 3.0: cell.accessoryType = .disclosureIndicator
Brian
67

Sie können dies im Interface Builder tun. Klicken Sie einfach auf die Tabellenansicht , gehen Sie zu Prototypzellen auf der rechten Seite und machen Sie es 1. Klicken Sie dann auf diese Prototypzelle und suchen Sie rechts nach Zubehör . Klicken Sie in der Dropdown-Liste auf Offenlegungsanzeige .

Beispiel für den Interface Builder

rzv
quelle
Ich kann in meinem xCode nichts wie "Prototypzellen" sehen ... Ist es in einigen Versionen von xCode verfügbar?
Rasto
Ich kann auch "Prototype Cells" nicht finden. Ich habe cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator verwendet. in der benutzerdefinierten Zelle.
Arkady
1
hey @rzv kannst du das bild noch ein bisschen vergrößern? Ich habe meine Brille vergessen
Abbood
6

Sie können den kleinen klassischen Pfeil wie unten in zwei Richtungen einstellen

1) Verwenden der integrierten Zubehörtypmethode von UITableViewCell

[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; 

2) Erstellen einer eigenen Zubehöransicht mit einem eigenen Bild

(I) Ziehen Sie ein Pfeilbild (dh circle_arrow_right.png) in Ihr Projekt und legen Sie es dort ab

(II) In der Zellentwurfsmethode für jede Zeile wie unten

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

Schreiben Sie den folgenden 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
     .............
    .............

 }

[ Hinweis: Wählen Sie geeignete Bilder für die Zubehöransicht aus und fügen Sie sie in die gewünschten Zellen ein. Wählen Sie kleine Bilder für zusätzliche Ansichten, um eine bessere Leistung zu erzielen.]

Lalit Kumar Maurya
quelle
3

Verwenden Sie die accessoryTypeEigenschaft der Zelle, um einen Pfeil auf der rechten Seite anzuzeigen. Sehen Sie das .

Mridul Kashatria
quelle
3

für einfachen Pfeil:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

und für detaillierten Pfeil:

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

Swift 3:

cell.accessoryType = .disclosureIndicator
David Seek
quelle
2

Die andere Möglichkeit besteht darin, anzugeben, UITableViewCellAccessoryDisclosureIndicatorwann Sie die Zelle erstellen. Zu diesem Zweck weisen Sie init wahrscheinlich Ihre Zelle in der delegierten Methode tableViewCellWithReuseIdentifier zu (fahren Sie dann mit dem Anpassen und Konfigurieren Ihrer Zelle fort).

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

Der beste Weg ist die Auswahl Disclosure Indicatorim AccessoryAbschnitt.

Uditha Prasad
quelle