Tôi đang gặp sự cố khi thay đổi kích thước tableHeaderView. Nó đơn giản không hoạt động.
1) Tạo một UITableView và UIView (100 x 320 px);
2) Đặt UIView dưới dạng tableHeaderView của UITableView;
3) Xây dựng và Bắt đầu. Mọi thứ ổn cả.
Bây giờ, tôi muốn thay đổi kích thước tableHeaderView, vì vậy tôi thêm mã này vào 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;
Chiều cao của tableHeaderView sẽ xuất hiện với 200, nhưng xuất hiện với 100.
Nếu tôi viết:
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;
Sau đó, nó bắt đầu với 200 chiều cao, như tôi muốn. Nhưng tôi muốn có thể sửa đổi nó trong thời gian chạy.
Tôi cũng đã thử điều này, nhưng không thành công:
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];
Vấn đề ở đây là: Làm cách nào để thay đổi kích thước của tableHeaderView trong thời gian chạy ???
Có ai có thể làm điều này?
Cảm ơn
iMe