[英]IOS: Hide/Reload tableView header
我使用自動布局在故事板上創建了tableview的標題(!不是本節的標題)。
我想顯示/隱藏它的能力。
我該怎么做?
我嘗試了這段代碼:
self.tableView.tableHeaderView.hidden = !flag;
CGRect frame = self.tableView.tableHeaderView.frame;
frame.size.height = flag? k_HEIGHT_TableViewHeader : 0;
self.tableView.tableHeaderView.frame = frame;
它有效,但是卻給了我很多自動布局錯誤。
我也可以將其設置為nil。 如果是這樣,如何從情節提要中加載標題?
當您決定隱藏/顯示時,是否嘗試過使用[tableview reloadData]?
因為是用自動布局創建的,而不是更改框架,所以應該將tableHeaderView
上高度的約束從情節tableHeaderView
鏈接到類。 然后,當您要折疊它時,設置constraint.constant = 0
,然后通過設置constraint.constant = k_HEIGHT_TableViewHeader
再次將其展開。 您還需要隨后在視圖上調用layoutIfNeeded
。
通過將layoutIfNeeded
包裝在UIView動畫塊中,也可以輕松地對此更改進行動畫處理
[UIView animateWithDuration:0.5 animations:^{[self.view layoutIfNeeded];}];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.