Frage

Ich füge ein Bild subview zu einem UITableViewController mit einer gruppierten Tabelle. Nachdem ich das Bild Subview hinzufügen kann ich die Tabellenüberschriften auf das Bild sehen, aber die Zellen hinter dem Bild gezeichnet werden.

Gibt es etwas, was ich tun müssen, um sicherzustellen, dass die Tabellenzellen oben auf das Hintergrundbild angezeigt werden? Hier ist der Code, den ich in der viewDidLoad des UITableViewControlle bin mit:

CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 959.0f); 
UIImageView *backImageView = [[UIImageView alloc] initWithFrame:myImageRect]; 
[backImageView setImage:[UIImage imageNamed:@"somebackground.png"]]; 
[self.view addSubview:backImageView];
[self.view sendSubviewToBack:backImageView];
[backImageView release];

Ich weiß, dass als Alternative ich einfach eine zusammengesetzte Ansicht schaffen könnte und die Tableview auf es fallen eher als das, was ich versuche, hier zu tun. Wenn es keine andere Lösung ist, werde ich tun, aber würde es vorziehen, den Ansatz verwenden ich, wenn überhaupt möglich bin versucht.

War es hilfreich?

Lösung 2

Es scheint, dass die UITableView wird oft die ZOrder der Ansichten neu anordnen, wenn erfrischend. So müssen Sie manuell verwalten die ZOrder auf einer Tabelle Ereignisse Zurücksetzen wie das Einfügen / Löschen / Aktualisieren von Zeilen.

Andere Tipps

Es ist eine gruppierte Tabellenansicht. Aus dem Apfel docs:

The grouped style of table view provides a default background color and a default background view for all cells.

Das bedeutet, dass es eine Standard-Bildansicht hinter Tabelle eingefügt werden. Sie mögen, dass Sie mit Ihrer eigenen Ansicht ersetzen, etwa so:

CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 959.0f); 
UIImageView *backImageView = [[UIImageView alloc] initWithFrame:myImageRect]; 
[backImageView setImage:[UIImage imageNamed:@"somebackground.png"]]; 
self.tableView.backgroundView = backImageView;

Dies ersetzt die andere backgroundView mit Ihrem eigenen. Andernfalls, wenn die Tabellenansicht wird wieder angelegt, dass anderes Hintergrundbild werden Sie überlagern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top