2012-03-26 8 views
1

Ich habe benutzerdefinierte Zelle erstellt, in der n Anzahl der Bildansichten sind. Je nach Anzahl der Bildansichten pro Zeile, lege ich die Größe der Bildansicht fest. Dafür benötige ich die Breite der UITableView in initWithStyle: Methode der UITableViewCell. Aber das iPad gibt die Breite des UITableView als 320 zurück. Meine Anwendung ist nur für das iPad gedacht und ich habe XIB nur für iPad verwendet (ich habe die Option "Gezielt für iPad" oder "Gefällt mir" ausgewählt).Wie erhält man die Breite und Höhe von UITableView in der initWithStyle Methode der benutzerdefinierten Zelle?

Gibt es eine Möglichkeit, wie ich die Breite der Tabellenansicht von der Init-Methode erhalten kann? Ich habe self.contentView.frame und self.frame verwendet, aber sie haben nicht funktioniert.

Antwort

3

Alles ist korrekt. ;) Sobald Sie einen tableRow initiieren, ist die Breite wahrscheinlich 320. Sie müssen die korrekten Autoresizing-Flags verwenden, damit Ihre imageView die Größe automatisch ändert. Alternativ dazu können Sie die imageView-Delegate-Methode willDisplayRow:atIndexPath: verwenden, um die imageView anzupassen, nachdem die Größe der TabelleViewRow auf ihre tatsächliche Größe geändert wurde.

+0

gut..das ist nicht gut ... Ich muss alles wieder in der WillDisplayRow: Methode .... :(Anyway, aber danke für die freundliche Antwort. –

+0

Nein wahrscheinlich können Sie Autoresizing auf Ihrem verwenden imageView auch (es sei denn, das passt nicht in Ihren Fall .. aber ich denke, es tut) – calimarkus

Verwandte Themen