У меня проблемы с изменением размера tableHeaderView. Это просто не работает.
1) Создание UITableView и UIView (100 x 320 px);
2) Установить UIView в качестве tableHeaderView UITableView;
3) Build and Go. Все в порядке.
Теперь я хочу изменить размер tableHeaderView, поэтому я добавляю этот код в viewDidLoad:
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;
Высота tableHeaderView должна отображаться с 200, но отображается с 100.
Если я напишу:
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;
Тогда начинается с 200, как я хочу. Но я хочу иметь возможность изменять его во время выполнения.
Я тоже пытался, но безуспешно:
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];
Суть в следующем: Как мы изменяем размер tableHeaderView во время выполнения ???
Кто-нибудь мог это сделать?
Спасибо
IME