Dodanie małej strzałki po prawej stronie komórki w komórce iPhone TableView


Odpowiedzi:


317

Po prostu ustaw odpowiednią właściwość accessoryType UITableViewCell .

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

W Swift 3 ,

cell.accessoryType = .disclosureIndicator

1
Zwróć uwagę, że jeśli chcesz obrócić strzałkę ... nie możesz tego zrobić . Musisz użyć obrazu .. stackoverflow.com/questions/13836606/…
Fattie.

1
W przypadku Swift po prostu użyj cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
Quintin Balsdon,

1
cell.accessoryType = .DisclosureIndicatordziała też w Swift.
Tim Vermeulen,

SWIFT 3.0: cell.accessoryType = .disclosureIndicator
Brian

67

Możesz to zrobić w programie Interface Builder. Po prostu kliknij widok tabeli , przejdź do Komórki prototypowe po prawej stronie i zrób to 1. Następnie kliknij komórkę prototypu i po prawej stronie znajdź Akcesoria . W menu rozwijanym kliknij opcję Wskaźnik ujawnienia .

Przykład programu Interface Builder


Nie widzę czegoś takiego jak „Komórki prototypowe” w moim xCode ... Czy jest dostępne w niektórych wersjach xCode?
Rasto

Nie mogę też znaleźć „Prototype Cells”. Użyłem cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; w niestandardowej komórce.
Arkady,

1
hej @rzv, czy możesz trochę powiększyć obraz? Zapomniałem okularów
abbood

6

Możesz ustawić małą klasyczną strzałkę, taką jak dwukierunkowa, jak poniżej

1) Korzystanie z wbudowanej metody typu akcesoriów UITableViewCell

[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; 

2) Tworzenie własnego widoku akcesoriów z własnym obrazem

(I) Przeciągnij i upuść obraz strzałki (np. Circle_arrow_right.png) w swoim projekcie

(II) W metodzie projektowania komórek dla każdego rzędu, jak poniżej

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

Wpisz poniższy kod:

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

 }

[ Uwaga: wybierz odpowiednie obrazy do widoku akcesoriów i dodaj żądane komórki. Wybierz małe obrazy do widoków akcesoriów, aby uzyskać lepszą wydajność.]



3

dla prostej strzały:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

a dla szczegółowej strzałki:

cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator;)
MR


2

Innym sposobem na to jest określenie, UITableViewCellAccessoryDisclosureIndicatorkiedy tworzysz komórkę. Aby to zrobić, prawdopodobnie przydzielisz init komórkę w metodzie delegata tableViewCellWithReuseIdentifier (następnie przystąpisz do dostosowywania i konfigurowania komórki).

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellAccessoryDisclosureIndicator reuseIdentifier:identifier];

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.