Festlegen eines UITableViewCell Zubehörtyp auf einigen Zellen, aber nicht alle
-
23-09-2019 - |
Frage
Ich habe 8-Zellen, die in meinem UITableViewController gebaut. Ich würde gerne wissen, wie ich eine Offenbarung Anzeige auf dem 4. und 8. Zellen zeigen. Im Moment bin ich bauen es in
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
obwohl mir bewusst ist, es wird eine Offenbarung Indikatoren für jede Zelle hinzuzufügen
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
Lösung
Mit einem einfachen if-Anweisung:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
... // do whatever
UITableViewCellAccessoryType accessoryType = UITableViewCellAccessoryNone;
if (indexPath.row == 3 || indexPath.row == 7) {
accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
cell.accessoryType = accessoryType;
... // do whatever
}
Andere Tipps
Sie kennen die indexPath, warum also nicht nur bedingt die Offenlegung Indikatoren gelten, wenn
if((indexPath.row == 3) || (indexPath.row == 7))
(indexPath.row ist 0-basiert natürlich ... ist die 4. 3 und der achte ist 7. Und Sie sollten #defines oder eine andere Art und Weise verwenden, um die magischen Zahlen zu halten von dort auch.)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow