SwiftUI:ScrollView 偏移滚动内容
Posted
技术标签:
【中文标题】SwiftUI:ScrollView 偏移滚动内容【英文标题】:SwiftUI: ScrollView Offset Scroll Content 【发布时间】:2019-11-26 22:14:16 【问题描述】:我正在尝试使用 SwiftUI 实现一个 ScrollView,其中包含日历对象的 HStack 和 ForEach() 来来回滚动以选择要在下面模仿的日期:
日期数组将是今天日期过去 30 天和未来 30 天。当我初始化 ScrollView 时,它总是从过去的第 30 天开始(数组索引 0),但是我怎样才能将 ScrollView 的滚动偏移到今天的日期在视图中的中心位置?我尝试过使用.content.offset(x: offset)
,但它在物理上偏移了视图中滚动的位置,而不是滚动量。
ScrollView(.horizontal, showsIndicators: false)
HStack(alignment: .center, spacing: self.spacing)
ForEach(self.dateArray, id: \.self) date in
CalendarObject(date: date)
.content.offset(x: -self.offset, y: 0)
【问题讨论】:
你可以使用How to make a SwiftUI List scroll automatically? post中的idea 仅供参考!这绝对是一种可能性,但哇,这么简单的操作需要很多代码。 我想知道你是否找到了一个更好的解决方案,因为它已经一年了?我现在遇到了确切的问题。 解决方案是使用 Xcode 12 和 ios 14 和最新的 SwiftUI 2.0,我相信它现在具有设置偏移量所需的方法。 【参考方案1】:在苹果的示例 swiftUI 代码中,他们只是在 ScrollView 中使用单元格的填充。也许是苹果的回答。
【讨论】:
以上是关于SwiftUI:ScrollView 偏移滚动内容的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI - 调整 ScrollView 滚动指示器插图
当内容适合滚动视图边界时,SwiftUI ScrollView 不会使内容居中