2016-06-11 33 views
0

我刚刚尝试了下面的代码行,但我无法正常工作。我不知道如何以编程方式为页眉或页脚提供这种情况,可能会使用自动布局,我不知道究竟哪一个解决了我的问题。我正在使用UITableViewHeaderFooterView的xib文件。Swift - 如何动态修复UITableViewHeaderFooterView的高度尺寸?

如果有人解释我会很棒。

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 

    // Dynamic sizing for the footer view 
    if let footerView = tableView.tableFooterView { 
     let height = footerView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize).height 
     var footerFrame = footerView.frame 

     if height != footerFrame.size.height { 
      footerFrame.size.height = height 
      footerView.frame = footerFrame 
      tableView.tableFooterView = footerView 
     } 
    } 

} 
+0

你尝试在viewWillLayoutSubviews这个代码? – srvv

回答

2

UITableView在显示HeaderFooter之前会计算它,如果不再调用reloadData(),则无法更新该高度。

您是否试图在这些HeaderFooterView上使用AutoLayout? 我会成立厦门国际银行从该视图与正确的约束,然后:

self.tableView.estimatedSectionHeaderHeight = 100 
self.tableView.sectionHeaderHeight = UITableViewAutomaticDimension 
+0

IOS 8不能实现 – ChildrenGreens

+0

@ChildrenGreens你是什么意思? – orxelm

+0

iOS8上的约束冲突,iOS9,可以显示iOS10正确 – ChildrenGreens