使用新的 SwiftUI Charts 框架,我们可以制作比可见屏幕更大的图表,并将其放入 ScrollView 中以使其可滚动。像这样的东西:
var body : some View {
GeometryReader { proxy in
ScrollView(.horizontal, showsIndicators: false) {
Chart {
ForEach(data) { entry in
// ...
}
}
.frame(width: proxy.size.width * 2)
}
}
}
Run Code Online (Sandbox Code Playgroud)
有谁知道是否可以以编程方式移动滚动以显示图表的特定区域?
我尝试过使用ScrollViewReader,在 x 轴标签处设置 ID,并尝试使用该scrollTo函数导航到任何这些位置,但没有成功:
Chart {
/// ...
}
.chartXAxis {
AxisMarks(values: .stride(by: .day)) { value in
if let date : Date = value.as(Date.self) {
Text(date, style: .date)
.font(.footnote)
}
}
}
Run Code Online (Sandbox Code Playgroud)