Разобрался с решением:
Сначала откройте раскадровку, перетащите UIView на верх "ячейки прототипа".Затем определите следующую глобальную переменную в файле контроллера представления:
var headerView: UIView!
var HEADER_HEIGHT: CGFloat = 400
Чтобы обновить представление заголовка (т.е. растянуть) при прокрутке, вызовите следующую функцию в методе scrollViewDidScroll
:
func updateTableHeader()
{
var headerFrame = CGRect(x: 0, y: -HEADER_HEIGHT, width: tableView.bounds.width, height: HEADER_HEIGHT)
if tableView.contentOffset.y < -HEADER_HEIGHT
{
headerFrame.origin.y = tableView.contentOffset.y
headerFrame.size.height = -tableView.contentOffset.y
}
headerView.frame = headerFrame
}
Также, в viewDidLoad
, headerView должен быть настроен с использованием следующего метода:
func setupHeaderview()
{
headerView = tableView.tableHeaderView
tableView.tableHeaderView = nil
tableView.addSubview(headerView)
tableView.contentInset = UIEdgeInsets(top: HEADER_HEIGHT, left: 0, bottom: 0, right: 0)
tableView.contentOffset = CGPoint(x: 0, y: -HEADER_HEIGHT)
updateTableHeader()
}