gpt4 book ai didi

swift - 如何使用 swift 使 View 与 Collection View 一起滚动

转载 作者:行者123 更新时间:2023-11-30 10:58:41 25 4
gpt4 key购买 nike

我在 UIViewController 中有一个 Collection View 。 View Controller 还有另一个 UIView(我们称之为welcomeView),它放置在 Collection View 之上。当我滚动 Collection View 时,我希望welcomeView 随之滚动。我看过这个答案https://stackoverflow.com/a/43215801/5124961这几乎总结了我喜欢它的外观,减去粘在顶部的 View 。该解决方案的唯一问题是我的collectionView已经有一个标题,因此将welcomeView作为子层添加到 Collection View 中会将其添加到我不想要的已经存在的标题下。

只需使用这段代码:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
let offset = collectionView.contentOffset.y
if(offset > 0){
self.welcomeView.frame = CGRect(x: 0, y: -offset, width: self.view.bounds.size.width, height: 100)
}else{
self.welcomeView.frame = CGRect(x: 0, y: 0, width: self.view.bounds.size.width, height: 100)
}
}

我得到这个效果:

enter image description here

我认为 Collection View 的框架必须根据偏移量进行更改,但不太确定在使用它后如何实现这一点。我还看过其他一些与我类似的问题,但是,这些问题是在 Objective C 中,我不太熟悉。有没有人有办法解决吗?谢谢。

最佳答案

如果我从您的捕获中猜对了,您的欢迎 View 不会覆盖 Collection View 。

根据这个猜测,解决方案是:

  1. 使 Collection View 位于 Controller View 的顶部
  2. 您的欢迎 View 可以与您的收藏 View 重叠
  3. 为了避免欢迎 View 与 Collection View 的内容重叠,请修改 Collection View 的 contentInset 属性(contentInsettop 应等于欢迎 View 的高度)。
  4. 保留您的代码片段
  5. 滚动指示器可能会在欢迎 View 下消失。一个简单的解决方案是为欢迎 View 设置透明背景。借助 contentInset 和委托(delegate)调用,您可以保证 Collection View 和欢迎 View 的内容不会重叠。

关于swift - 如何使用 swift 使 View 与 Collection View 一起滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53655867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com