Skip to content

Instantly share code, notes, and snippets.

@wb-softwares
Created June 18, 2020 21:43
Show Gist options
  • Save wb-softwares/ffefc45ad5e4057ed1cb35ff71f65de3 to your computer and use it in GitHub Desktop.
Save wb-softwares/ffefc45ad5e4057ed1cb35ff71f65de3 to your computer and use it in GitHub Desktop.
Recreating the Breathe app using SwiftUI and Swift Playgrounds on iPad
struct Breathe: View {
@State var scale = false
@State var rotate = false
var body: some View {
ZStack {
Group {
ZStack {
Circle().frame(width: 80, height: 80).foregroundColor(Color(UIColor.systemBlue)).offset(y: -42)
Circle().frame(width: 80, height: 80).foregroundColor(Color(UIColor.systemBlue)).offset(y: 42)
}
}.opacity(1/3)
Group {
ZStack {
Circle().frame(width: 80, height: 80).foregroundColor(Color(UIColor.systemBlue)).offset(y: -42)
Circle().frame(width: 80, height: 80).foregroundColor(Color(UIColor.systemBlue)).offset(y: 42)
}
}.rotationEffect(.degrees(60)).opacity(1/4)
Group {
ZStack {
Circle().frame(width: 80, height: 80).foregroundColor(Color(UIColor.systemBlue)).offset(y: -42)
Circle().frame(width: 80, height: 80).foregroundColor(Color(UIColor.systemBlue)).offset(y: 42)
}
}.rotationEffect(.degrees(120)).opacity(1/2)
}.rotationEffect(.degrees(rotate ? 180 : 0)).scaleEffect(scale ? 1 : 1/8).animation(Animation.easeInOut.repeatForever(autoreverses: true).speed(1/8)).onAppear() {
self.rotate.toggle()
self.scale.toggle()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment