弹出时,Swiftui的滚动视图出现怪异抖动

问题描述 投票:0回答:1

Jitter

我正在开发此iPhone游戏的游戏菜单,当我按下按钮弹出一个水平滚动子菜单时,它会在上下方向抖动

因此,基本上,我有一个PlayMenu视图,并且体内的var是这样的,

VStack(spacing: 0) {
    PlayMenuButtonBar()

    ZStack(alignment: .top) {
        Color.white.frame(maxHeight: .infinity)

        ThemeStore()
    }
}
.edgesIgnoringSafeArea(.all)
.offset(y: yOffset)
.animation(.default)

yOffset是一个计算的属性,它根据打开的菜单而改变。 ThemeStore视图是这样的

ScrollView(.horizontal, showsIndicators: false) {
    HStack(spacing: 30) {
        ForEach(ThemeName.allCases, id: \.self) { name in
            ThemeIcon()
        }
    }
}.padding(.leading)

我已经尝试过弄乱填充和间隔符,但是我找不到问题所在。

我对swiftui还是比较陌生,因此,如果有人对滚动视图有更多的了解,以及可能导致这种行为的原因,或者仅是制作弹出菜单的提示,将不胜感激。

ios swift swiftui scrollview jitter
1个回答
0
投票

提供的代码不可测试,因此只需阅读以下内容,然后尝试

ZStack(alignment: .top) {
    Color.white.frame(maxHeight: .infinity)

    ThemeStore()
       .fixedSize(horizontal: false, vertical: true)
       .animation(nil)
}
© www.soinside.com 2019 - 2024. All rights reserved.