ฉันมีปัญหาในการปรับขนาด tableHeaderView มันง่ายไม่ได้ผล
1) สร้าง UITableView และ UIView (100 x 320 px);
2) ตั้งค่า UIView เป็น tableHeaderView ของ UITableView;
3) สร้างและไป ทุกอย่างปกติดี.
ตอนนี้ฉันต้องการปรับขนาด 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;
ความสูงของตาราง HeaderView ควรปรากฏด้วย 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