Design Teardowns笔记:
最终效果是这样。下拉headerView被拉伸。
这里给出比较重要的部分:
var headerView: UIView!
let HeaderViewHeight = CGFloat(300)
override func viewDidLoad() {
super.viewDidLoad()
headerView = tableView.tableHeaderView
tableView.tableHeaderView = nil
tableView.addSubview(headerView)
tableView.contentInset = UIEdgeInsetsMake(HeaderViewHeight, 0, 0, 0)
updateHeaderView()
}
func updateHeaderView() {
var frame = CGRectMake(0, -HeaderViewHeight, tableView.frame.width, HeaderViewHeight)
let offsetY = tableView.contentOffset.y
if offsetY < -HeaderViewHeight {
frame.origin.y = offsetY
frame.size.height = -offsetY
}
headerView.frame = frame
}
override func scrollViewDidScroll(scrollView: UIScrollView) {
updateHeaderView()
}·