Ich habe Probleme beim Ändern der Größe einer tableHeaderView. Es funktioniert einfach nicht.
1) Erstellen Sie eine UITableView und eine UIView (100 x 320 px).
2) Legen Sie die UIView als tableHeaderView der UITableView fest.
3) Bauen und loslegen. Alles ist ok.
Jetzt möchte ich die Größe der tableHeaderView ändern, also füge ich diesen Code in viewDidLoad hinzu:
self.tableView.autoresizesSubviews = YES;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
CGRect newFrame = self.tableView.tableHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
self.tableView.tableHeaderView.frame = newFrame;
Die Höhe der tableHeaderView sollte mit 200, aber mit 100 angezeigt werden.
Wenn ich schreibe:
self.tableView.autoresizesSubviews = YES;
CGRect newFrame = myHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
myHeaderView.frame = newFrame;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
Dann beginnt es mit 200 Höhenmetern, wie ich will. Aber ich möchte es in der Laufzeit ändern können.
Ich habe es auch ohne Erfolg versucht:
self.tableView.autoresizesSubviews = YES;
self.tableView.tableHeaderView = myHeaderView;
self.tableView.tableFooterView = myFooterView;
CGRect newFrame = self.tableView.tableHeaderView.frame;
newFrame.size.height = newFrame.size.height + 100;
self.tableView.tableHeaderView.frame = newFrame;
[self.tableView.tableHeaderView setNeedsLayout];
[self.tableView.tableHeaderView setNeedsDisplay];
[self.tableView setNeedsLayout];
[self.tableView setNeedsDisplay];
Der Punkt hier ist: Wie ändern wir die Größe einer tableHeaderView zur Laufzeit ???
Kann jemand das tun?
Vielen Dank
iMe