簡體   English   中英

iOS:隱藏/重新加載tableView標頭

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM