使用UITableView自动在UITableView上滚动UIImageView

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用UITableView自动在UITableView上滚动UIImageView相关的知识,希望对你有一定的参考价值。

我有一个顶部有UIImageView的屏幕,下面有一个UITableView -

enter image description here

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

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
    }

}

上面的代码似乎工作得很好但是当表格视图一直向下滚动时,单元格似乎闪烁(可能是因为当表格视图内容一直向上滚动时滚动事件由于弹跳效果而不断传递或下?)

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

答案

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

@IBOutlet weak var tableView: UITableView!

let imageView = UIImageView(image: UIImage(named: "myImage.png"))
imageView.contentMode = .scaleAspectFit
tableView.tableHeaderView = imageView

以上是关于使用UITableView自动在UITableView上滚动UIImageView的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 UISearchBar 仅搜索 UITableView 的部分标题?

UIView 与 UITableview 和 UIImageview,使用 reloadData 访问 UITableview

带有 AutoDimension 的 UITableViewCell 中的 UITableView

在 iPhone 上使用 UITableView Outlet 从 UIViewController 修改 UITableViewCell

解析上传图片 UItableview [关闭]

使用 PrepareForSegue 方法从 UITableView 传递到另一个