【发布时间】:2022-08-17 00:53:44
【问题描述】:
好吧,老实说,我做到了,因为我需要它,然后才环顾四周,并没有在 SwiftUI 中找到任何关于 SO native 的东西,所以想分享一下。因此,这只是一个自我回答的问题。
最初,我需要粘性可拉伸粘性标头用于仅依赖于ScrollView 的惰性内容。
后来(在我得到解决方案之后)我找到了this one on Medium,但我不喜欢它(并且至少不推荐),因为:
- 过于复杂(许多不需要的代码,许多不需要的计算)
- 仅依赖(并连接)安全区域,因此适用性有限
- 基于
offset(我不喜欢使用offset,因为它与布局不一致等) - 它不具有粘性,要使其具有粘性,还需要更多代码
所以,实际上所有这些文字只是为了满足 SO 问题的要求 - 谁知道我在这里知道我不喜欢输入很多文字,最好输入代码????,简而言之 - 我的方法如下回答,也许有人觉得它有用。
SwiftUI 免费提供给我们的初始代码
ScrollView { LazyVStack(spacing: 8, pinnedViews: [.sectionHeaders]) { Section { ForEach(0...100) { Text(\"Item \\($0)\") .frame(maxWidth: .infinity, minHeight: 60) } } header: { Image(\"picture\").resizable().scaledToFill() .frame(height: 200) } } }向上滚动时标题是粘性的,但向下滚动时不会(与内容一起拖动),并且它不可拉伸。