Hallo Zusammen,
ich möchte gerne meine TableView etwas anders gestalten. Also habe ich einen normalen ViewController genommen, eine Tableview reingezogen und per Autolayout an die Ränder geklebt. Selbstverständlich ist der ViewController auch für die Datasource und so weiter verantwortlich. Soweit funktioniert auch alles - nur es sieht blöd aus.
Die Zellen werden anscheinend noch in Standardgröße gebaut und somit fehlt rechts etwas (Bild).
Ich dacht mir nun ich muss sie einfach kleiner machen und habe deshalb in der Klasse der Zelle in layoutSubviews mit einer passenden Größe überschrieben.
Nun ist die Zelle zwar kleiner - aber immer noch nicht mittig. Sie bleibt nach rechts "verschoben" (Bild width * 0.9). Außerdem bringt das Autolayout anscheinend durcheinander, da nun rechts sogar die Hälfte vom Label fehlt.
Wo ist mein Denkfehler?
Danke und schöne Grüße.
ich möchte gerne meine TableView etwas anders gestalten. Also habe ich einen normalen ViewController genommen, eine Tableview reingezogen und per Autolayout an die Ränder geklebt. Selbstverständlich ist der ViewController auch für die Datasource und so weiter verantwortlich. Soweit funktioniert auch alles - nur es sieht blöd aus.
Die Zellen werden anscheinend noch in Standardgröße gebaut und somit fehlt rechts etwas (Bild).
Ich dacht mir nun ich muss sie einfach kleiner machen und habe deshalb in der Klasse der Zelle in layoutSubviews mit einer passenden Größe überschrieben.
C-Quellcode
- - (void)layoutSubviews {
- [super layoutSubviews];
- CGRect cellRect = self.bounds;
- cellRect.size.width = self.superview.frame.size.width * 0.9f;
- self.bounds = cellRect;
- NSLog(@"superview width: %f", self.superview.frame.size.width); // = tableview 343
- NSLog(@"cell frame: %f %f %f %f", self.bounds.origin.x, self.bounds.origin.y, self.bounds.size.width, self.bounds.size.height);
- }
Wo ist mein Denkfehler?
Danke und schöne Grüße.