Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. self.myTableView.tableHeaderView?.frame = CGRectMake(0, 0, screenWidth, 290)
  2.  
  3. extension UITableView {
  4.  
  5. func setTableHeaderView(headerView: UIView?) {
  6. // set the headerView
  7. tableHeaderView = headerView
  8.  
  9. // check if the passed view is nil
  10. guard let headerView = headerView else { return }
  11.  
  12. // check if the tableHeaderView superview view is nil just to avoid
  13. // to use the force unwrapping later. In case it fail something really
  14. // wrong happened
  15. guard let tableHeaderViewSuperview = tableHeaderView?.superview else {
  16. assertionFailure("This should not be reached!")
  17. return
  18. }
  19.  
  20. // force updated layout
  21. headerView.setNeedsLayout()
  22. headerView.layoutIfNeeded()
  23.  
  24. // set tableHeaderView width
  25. tableHeaderViewSuperview.addConstraint(headerView.widthAnchor.constraint(equalTo: tableHeaderViewSuperview.widthAnchor, multiplier: 1.0))
  26.  
  27. // set tableHeaderView height
  28. let height = headerView.systemLayoutSizeFitting(UILayoutFittingCompressedSize).height
  29. tableHeaderViewSuperview.addConstraint(headerView.heightAnchor.constraint(equalToConstant: height))
  30. }
  31.  
  32.  
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement