Вы уже ответили на свой вопрос со ссылкой на эту статью, если я что-то упустил.
Я скопирую и вставлю для вас и других лиц, у которых может возникнуть тот же вопрос, если это поможет, потому что он даже поставляется со ссылкой на github (слава Abhimuralidharan @ Medium):
Создайте табличное представление с основными источниками данных и методами делегата, которые необходимы для простой загрузки таблицы с некоторыми данными.
Установите свойство contentInset табличного представления:
tableView.contentInset = UIEdgeInsetsMake(300, 0, 0, 0)
Здесь я установил верхнее значение 300, которое является вычисленным числом, которое я установлю в качестве начальной нормальной высоты для просмотра изображения заголовка.Теперь, когда мы установили contentInset, кадр таблицы будет начинаться с (0,0), а первая ячейка - с (0,300).
Теперь создайте просмотр изображения с высотой 300 и добавьте его к текущемуПредставление над табличным представлением.
imageView.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: 300)
imageView.image = UIImage.init(named: “poster”)
imageView.contentMode = .scaleAspectFill
imageView.clipsToBounds = true
view.addSubview(imageView)
Затем добавьте следующий код в метод делегата scrollview scrollViewDidScroll, который вызывается при каждой прокрутке табличного представления.
func scrollViewDidScroll (_ scrollView: UIScrollView) {
let y = 300 — (scrollView.contentOffset.y + 300)
let height = min(max(y, 60), 400)
imageView.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: height)
}
Скомпилируйте и запустите код.Полный исходный код доступен в github .