在 SwiftUI 中使用 DragGesture 缩放图像大小

发布于 2025-01-17 07:21:38 字数 1118 浏览 3 评论 0原文

就像联系人应用程序一样,用户交换后,缩略图将更大,并且可以使用较小的缩略图。怎么做?

这是示例代码

@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
                    // 
                }
        )
}

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
                    // 
                }
        )
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文