UITableViewCell: Bilder in Tabellenzellen
Bitmap-Grafiken lassen sich ebenfalls mühelos innerhalb einer UITableViewCell anzeigen, und ihre Zuweisung geschieht über die cell.imageView.image-Eigenschaft. Obwohl das imageView-Objekt vom Typ UIImageView immer vorhanden ist, nimmt es keinen Platz in der Zelle ein, solange keine Grafik bestimmt wurde. Möchte man aber Bilder in der Zelle darstellen, werden diese immer auf der rechten Seite angezeigt, und am besten eignen sich Grafiken im .PNG Format, da sie auch Transparenz im Bild erlauben. Die Dateien, am besten in den Abmessungen 48x48 Pixel, können direkt aus dem Finder in den Projekt Navigator gezogen werden. Der alternative Weg führt über das XcodeMenü und die Punkte File und Add Files to .... Im Projekt Navigator eine neue Gruppe für die Bilder anzulegen ist zu empfehlen, um innerhalb des Projektes den Überblick zu behalten.
Bitmap-Grafiken lassen sich ebenfalls mühelos innerhalb einer UITableViewCell anzeigen, und ihre Zuweisung geschieht über die cell.imageView.image-Eigenschaft. Obwohl das imageView-Objekt vom Typ UIImageView immer vorhanden ist, nimmt es keinen Platz in der Zelle ein, solange keine Grafik bestimmt wurde. Möchte man aber Bilder in der Zelle darstellen, werden diese immer auf der rechten Seite angezeigt, und am besten eignen sich Grafiken im .PNG Format, da sie auch Transparenz im Bild erlauben. Die Dateien, am besten in den Abmessungen 48x48 Pixel, können direkt aus dem Finder in den Projekt Navigator gezogen werden. Der alternative Weg führt über das XcodeMenü und die Punkte File und Add Files to .... Im Projekt Navigator eine neue Gruppe für die Bilder anzulegen ist zu empfehlen, um innerhalb des Projektes den Überblick zu behalten.

Sind die Grafik-Dateien im Projekt eingefügt, kann im Programmcode mit der Methode imageNamed der Klasse UIImage leicht auf sie zugegriffen werden. Dafür genügt es, den Dateinamen als Zeichenkette anzugeben. Die Zuweisung der image-Eigenschaft geschieht wieder in der tableView:cellForRowAtIndexPath-Methode. Auch dort können durch geschickte Programmierung verschiedene Bilder angesprochen werden. Wird eine spezielle Zuordnung von Land und Grafik benötigt, könnte der richtige Dateiname auch als neue Eigenschaft in der Klasse Country hinterlegt werden.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } Country *aCounty = [countryArray objectAtIndex:indexPath.row]; cell.textLabel.text = aCounty.countryName; cell.detailTextLabel.text = aCounty.capital; if ((indexPath.row % 2) == 0) { cell.imageView.image = [UIImage imageNamed:@"icontype2.png"]; } else { cell.imageView.image = [UIImage imageNamed:@"icontype1.png"]; } return cell; } |
