Я пытаюсь создать такой вид в SwiftUI (извините, он такой огромный):
В частности, я пытаюсь создать прокручиваемый ряд меток / столбчатая диаграмма в верхней четверти экрана. Для меня это выглядит как ScrollView с горизонтальной прокруткой, содержащий некоторое число X barGraphItems, каждый из которых является VStack с меткой и цветным прямоугольником. Затем VStack поворачивается на 270 градусов.
Вот код, который у меня есть:
import SwiftUI
struct ContentView: View {
var body: some View {
HStack(alignment: .bottom, spacing: 0) {
Spacer()
VStack(alignment: .leading, spacing: 0) {
Text("Demo")
.font(.caption)
.fontWeight(.bold)
Rectangle().foregroundColor(.orange)
.frame(width: 84, height: 10)
}
.rotationEffect(Angle(degrees: 270.0))
VStack(alignment: .leading, spacing: 0) {
Text("Demo")
.font(.caption)
.fontWeight(.bold)
Rectangle().foregroundColor(.orange)
.frame(width: 84, height: 10)
}
.rotationEffect(Angle(degrees: 270.0))
VStack(alignment: .leading, spacing: 0) {
Text("Demo")
.font(.caption)
.fontWeight(.bold)
Rectangle().foregroundColor(.orange)
.frame(width: 84, height: 10)
}
.rotationEffect(Angle(degrees: 270.0))
VStack(alignment: .leading, spacing: 0) {
Text("Demo")
.font(.caption)
.fontWeight(.bold)
Rectangle().foregroundColor(.orange)
.frame(width: 84, height: 10)
}
.rotationEffect(Angle(degrees: 270.0))
VStack(alignment: .leading, spacing: 0) {
Text("Demo")
.font(.caption)
.fontWeight(.bold)
Rectangle().foregroundColor(.orange)
.frame(width: 84, height: 10)
}
.rotationEffect(Angle(degrees: 270.0))
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
И вот что он производит (извините, он такой огромный):
Как я могу приблизить barGraphItems ближе друг к другу? Как добавить строку «Бюджет»? Как я могу сделать весь бизнес прокручиваемым без прокрутки строки бюджета?
Я думаю другие элементы на экране, которые я могу выяснить, но я весь день возился с этим виджетом гистограммы и я в тупике.