SwiftUI-使用ScrollView和嵌套视图偏移会导致滚动问题

时间:2020-05-25 19:58:52

标签: uiscrollview swiftui

此代码可以完美运行,我可以滚动到最底端的图片:

ScrollView {

                Image("MountainWelcomBackground").resizable().frame(height: 300)

                Image("MountainWelcomBackground").resizable().frame(height: 300)

                Image("MountainWelcomBackground").resizable().frame(height: 300)

                Image("MountainWelcomBackground").resizable().frame(height: 300)

                Image("MountainWelcomBackground").resizable().frame(height: 300)



            }.edgesIgnoringSafeArea(.top)

但是如果我使用带偏移的代码:

ScrollView {

                    Image("MountainWelcomBackground").resizable().frame(height: 300)

                    Image("MountainWelcomBackground").resizable().frame(height: 300).offset(y: 500)

我无法滚动到底部,只能看到弹跳效果,将我滚动回到顶部。

Effect is here on the video

1 个答案:

答案 0 :(得分:1)

View.offset不会更改视图布局,只更改屏幕上的图形显示,因此滚动视图的内容/大小不会更改,并且会像以前一样滚动

目前尚不清楚您的真正目标,但可能的解决方案是使用会改变布局的仪器,例如最简单的方法就是

Image("MountainWelcomBackground").resizable().frame(height: 300)
    .padding(.top, 500)