Skip to content

Instantly share code, notes, and snippets.

struct DeepConcaveView : View {
let cornerRadius : CGFloat
var body: some View {
ZStack {
RoundedRectangle(cornerRadius: cornerRadius)
.fill(Color(Colors.mainColor))
RoundedRectangle(cornerRadius: cornerRadius)
.stroke(Color(Colors.darkShadow), lineWidth: 2)
.blur(radius: 0.5)
struct ShallowConcaveView : View {
let cornerRadius : CGFloat
var body: some View {
ZStack {
RoundedRectangle(cornerRadius: cornerRadius)
.fill(Color(Colors.mainColor))
RoundedRectangle(cornerRadius: cornerRadius)
.stroke(Color(Colors.darkShadow), lineWidth: 2)
.blur(radius: 0.5)
struct ContentView: View {
@State var likes :[LikeView] = []
func likeAction () {
likes += [LikeView()]
}
var body: some View {
ZStack {
Color.black.ignoresSafeArea()
struct ContentView: View {
@State var likes = 0
func likeAction () {
likes += 1
}
var body: some View {
ZStack {
Color.black.ignoresSafeArea()
struct LikesModifier: ViewModifier {
@State var time = 0.0
let duration = 1.0
func body(content: Content) -> some View {
ZStack {
ForEach(0..<2) { _ in
content
.foregroundColor(.white)
.modifier(LikesGeometryEffect(time: time))
struct LikesGeometryEffect : GeometryEffect {
var time : Double
var speed = Double.random(in: 100 ... 200)
var xDirection = Double.random(in: -0.05 ... 0.05)
var yDirection = Double.random(in: -Double.pi ... 0)
var animatableData: Double {
get { time }
set { time = newValue }
}
struct LikeTapModifier: ViewModifier {
@State var time = 0.0
let duration = 1.0
func body(content: Content) -> some View {
ZStack {
content
.foregroundColor(.red)
.modifier(LikesGeometryEffect(time: time))
.opacity(time == 1 ? 0 : 1)
struct ContentView: View {
var body: some View {
VStack {
ScrollView {
ZStack {
Rectangle().fill(.orange.opacity(0.4)).frame(height: 800)
Text("Animation").font(.system(size: 50)).padding(.bottom, 80)
Text("inside a scrollview").font(.title)
}
animatedView()
struct AnimatedBox: View {
@State var val1 = 0.0
@State var val2 = 0.0
@State var val3 = 0.5
@State var val4 = 0.5
@State var scale = 0.5
@State var opacity = 0.0
struct AnimatedCircle: View {
@State var val = 0.0
@State var scale = 0.2
var body: some View {
ZStack {
Circle()
.stroke(.black.opacity(0.07),lineWidth: 23)
.frame(width: 220, height: 220)