0

我有一个屏幕,上面有一个 UIImageView,下面有一个 UITableView -

在此处输入图像描述

我想在表格视图滚动时上下移动图像视图,以便表格视图最终可以占据整个屏幕,然后在表格视图内容一直滚动到顶部时返回到其原始位置。到目前为止,我实现了这一点 -

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    print("scrolled")
    print(scrollView.contentOffset)

    let currentOffset = scrollView.contentOffset.y

    let netOffset = previousOffset + currentOffset

    self.previousOffset = currentOffset

    if netOffset > 0 {
        self.imageViewTopConstraint.constant = -netOffset
    } else if netOffset < 0 {
        self.imageViewTopConstraint.constant = netOffset
    } else {
        self.imageViewTopConstraint.constant = self.imageViewOriginalTop
        self.previousOffset = 0.0
    }

}

上面的代码似乎工作正常,但是当表格视图一直向下滚动时,单元格似乎闪烁(可能是因为当表格视图内容一直向上滚动或下?)

我怎样才能解决这个问题?

4

1 回答 1

0

您可以以编程方式将 UIImageView 添加为 UITableViewHeader

@IBOutlet weak var tableView: UITableView!

let imageView = UIImageView(image: UIImage(named: "myImage.png"))
imageView.contentMode = .scaleAspectFit
tableView.tableHeaderView = imageView
于 2017-12-17T18:38:28.270 回答