程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 SwiftUI 中,如何使用动态变化的滚动区域缩放 scrollView 内的内容?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 SwiftUI 中,如何使用动态变化的滚动区域缩放 scrollView 内的内容??

开发过程中遇到在 SwiftUI 中,如何使用动态变化的滚动区域缩放 scrollView 内的内容?的问题如何解决?下面主要结合日常开发的经验,给出你关于在 SwiftUI 中,如何使用动态变化的滚动区域缩放 scrollView 内的内容?的解决方法建议,希望对你解决在 SwiftUI 中,如何使用动态变化的滚动区域缩放 scrollView 内的内容?有所启发或帮助;

我正在使用 SwiftUI 开发 MacOS 应用程序。

假设我们有一个固定大小的窗口,它将显示一个可滚动的图像。 现在我想创建一个功能,可以让用户缩放图像,并且可以在窗口内滚动和查看缩放的图像。

问题是,一旦我放大图像,滚动区域似乎没有一起展开,并且滚动区域不够大,无法到达图像的每个角落。

struct ContentVIEw: VIEw {
    var body: some VIEw {
        ScrollVIEw([.horizontal,.vertical],showsInDicators: true ){
            Image("test")
                .scaleEffect(2)
        }
        .frame(wIDth: 500,height: 500)
    }
}

我尝试使用 GeometryReader 设置图像的框架,但得到了相同的结果。

@H_579_2@macOS 11.1,Xcode 12.3

谢谢!

解决方法

.scaleEffect 似乎对视图执行了视觉变换,而实际上并不影响其框架,因此 ScrollView 不知道适应更大的尺寸。

图像上的

.resizable().frame 似乎可以解决问题:

struct ContentView: View {
    @State private var scale : CGFloat = 1.0
    
    var body: some View {
        VStack {
            ScrollView([.horizontal,.vertical],showsInDicators: true ){
                Image(systemname: "plus.circle")
                    .resizable()
                    .frame(width: 300 * scale,height: 300 * scalE)
            }
            .frame(width: 500,height: 500)
            Slider(value: $scale,in: (0...5))
        }
    }
}

大佬总结

以上是大佬教程为你收集整理的在 SwiftUI 中,如何使用动态变化的滚动区域缩放 scrollView 内的内容?全部内容,希望文章能够帮你解决在 SwiftUI 中,如何使用动态变化的滚动区域缩放 scrollView 内的内容?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: