ContentView.swift
//
// ContentView.swift
// swiftuidev
//
// Created by Cairocoders
//
import SwiftUI
struct ContentView: View {
@State var bar1 : CGFloat = 0
var body: some View {
GeometryReader {geo in
VStack {
HStack {
Button(action: {
self.bar1 = geo.size.width / 2 - 20
}) {
Text("Day 1").padding(15)
}
.background(Color.orange)
.foregroundColor(.white)
.cornerRadius(8)
Button(action: {
self.bar1 = geo.size.width * 0.25 - 20
}) {
Text("Day 2").padding(15)
}
.background(Color.blue)
.foregroundColor(.white)
.cornerRadius(8)
Button(action: {
self.bar1 = geo.size.width * 0.25 - 90
}) {
Text("Day 3").padding(15)
}
.background(Color.red)
.foregroundColor(.white)
.cornerRadius(8)
}
Bar(percent: self.bar1, color: .green)
}// End VStack
.onAppear {
self.bar1 = geo.size.width / 2 - 20
}.animation(.spring())
}
}
}
struct Bar : View {
var percent : CGFloat = 0
var color : Color = .white
var body: some View {
HStack {
Capsule().fill(color).frame(width: percent, height: 30)
Spacer()
}.padding(10)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
