SwiftUI change view size by ratio

Viewed 598

I have a view and I am trying to changing it size by different ratios.

this is my view:

struct CoolView: View {
    var body: some View {
        Rectangle().frame(width: 50, height: 50)
    }
}

and here I am trying to size it with different ratios:

struct mainView: View {
    var body: some View {
        VStack {
            CoolView().frame(width: 0.6, height: 0.6) // <-- 0.6 from original size
            CoolView().frame(width: 0.5, height: 0.5) // <-- 0.5 from original size
            CoolView().frame(width: 0.2, height: 0.2) // <-- 0.2 from original size
        }
    }
}
1 Answers

You can do it with scaleEffect, using single value or a size!


struct mainView: View {
    var body: some View {
        VStack {
            CoolView().scaleEffect(0.6) // <-- 0.6 from original size
            CoolView().scaleEffect(0.5) // <-- 0.5 from original size
            CoolView().scaleEffect(0.2) // <-- 0.2 from original size
        }
    }
}

 struct mainView: View {
    var body: some View {
        VStack {
            CoolView().scaleEffect(CGSize(width: 0.6, height: 0.6)) // <-- 0.6 from original size
            CoolView().scaleEffect(CGSize(width: 0.5, height: 0.5)) // <-- 0.5 from original size
            CoolView().scaleEffect(CGSize(width: 0.2, height: 0.2)) // <-- 0.2 from original size
        }
    }
}
Related