Я хочу нарисовать эти два прямоугольника в SwiftuiIOS

Программируем под IOS
Anonymous
Я хочу нарисовать эти два прямоугольника в Swiftui

Сообщение Anonymous »

Я изо всех сил пытаюсь создать два вертикальных стержня с помощью линий и приборной коробки. Я хотел бы получить некоторое предложение о том, как это сделать.import SwiftUI

struct LoadManagementItemBarView: View {

let isLeft: Bool
let userWeight: Float
@State var progress: CGFloat

var body: some View {
ZStack(alignment: .bottom) {
Rectangle()
.fill(Color.white)
.frame(width: 32, height: 490)

Rectangle()
.fill(Color.positiveStappone)
.frame(width: 32, height: progress)

VStack {
HStack(alignment: .center) {

if isLeft {
Text("\(String(format: "%.0f", userWeight)) kg")
}

Rectangle()
.frame(width: 38, height: 1)

if !isLeft {
Text("\(String(format: "%.0f", userWeight)) kg")
}
}
.offset(y: CGFloat(userWeight))

Rectangle()
.strokeBorder(style: StrokeStyle(lineWidth: 1, dash: [10]))
.frame(width: 32, height: 188)
.offset(x: isLeft ? 24 : -23, y: -76)

HStack(alignment: .center) {

if isLeft {
Text(" 0 kg")
}

Rectangle()
.frame(width: 38, height: 1)

if !isLeft {
Text(" 0 kg")
}
}
.offset(y: 11)
}
.offset(x: isLeft ? -24 : 23)
}
.shadow(color: .gray, radius: 1, x: 1, y: 1)
}
}

struct LoadManagementItemBarView_Previews: PreviewProvider {
static var previews: some View {
LoadManagementItemBarView(
isLeft: true,
userWeight: 76,
progress: 350
)
}
}
< /code>
Я попытался использовать ZSTACK, чтобы соответствовать всем компонентам пользовательского интерфейса, но я борюсь с смещением этих компонентов, пример, чтобы изменить его смещение y, просто добавив максимум кг к созданному свойству.
Я хочу, чтобы оно выглядело так>

Подробнее здесь: https://stackoverflow.com/questions/756 ... in-swiftui

Вернуться в «IOS»