DragGesture to scale image size in SwiftUI

149 Views Asked by At

Like Contacts app, once the user swap down, the thumbnail will be larger, and up for a smaller thumbnail. How to do that?

enter image description here

This is the sample code

@State var imageSize: CGFloat = 100.0
var maxImageSize = 300
var minImageSize = 50

var body: some View {
    HStack() {
            Image(systemName: "minus")
                .frame(width: imageSize, height: imageSize)
        }
        .gesture(
            DragGesture()
                .onChanged { value in
                    withAnimation(.spring()) {
                        imageSize = value.translation.height
                        if imageSize > maxImageSize {
                            imageSize = maxImageSize
                        }

                        if imageSize < minImageSize {
                            imageSize = minImageSize
                        }
                    }
                }
                .onEnded { value in
                    // 
                }
        )
}
0

There are 0 best solutions below