【问题标题】:SwiftUI bug with ScrollView appearance to the scene带有 ScrollView 外观的 SwiftUI 错误
【发布时间】:2020-05-07 15:53:57
【问题描述】:

我在 SwiftUI 中遇到问题。我创建了 ScollView 并发布到一些视图中。 (新闻文章)。当我启动应用程序时 - ScrollView 和里面的内容以对角线的方式出现,就像动画一样。但是我需要启动应用程序并获取其中包含视图的静态 ScrollView,而无需任何动作。

当我打开带有 ScrollView 和 Text Blocks 的工作表视图时,也发生了同样的问题。它也像 dioganaly 方式一样出现前 0.3 秒。但是我怎样才能达到静态?谢谢大家)

我使用工作表控制器的地方(也是 ScrollView 中的这个块)

ScrollView{
   ArticlePreView(image: "one", category: "Category", heading: "Header", author: "some text").onTapGesture {
                        self.showingDetail.toggle()
                    }.sheet(isPresented: $showingDetail) {
                        Home()
                    }

}

Image to understand Video of problem

这是我的工作表控制器的地方

ScrollView() {

            VStack {

                HStack {

                    Text("Soem long title")
                        .font(.title)
                        .fontWeight(.bold)

                    Spacer()


                    Button(action: {

                    }) {

                        HStack {


                            Image(systemName: "heart.fill")
                                .foregroundColor(Color.gray)


                        }

                            .padding()
                    }
                        .background(
                            Circle()
                                .fill(Color.neuBackground)
                        )
                        .shadow(color: .dropShadow, radius: 15, x: 10, y: 10)
                        .shadow(color: .dropLight, radius: 15, x: -10, y: -10)


                }
                    .padding(.horizontal, 35)
                    .padding(.top, 25)


                Text("long text")
                    .multilineTextAlignment(.leading)
                    .foregroundColor(.gray)
                    .padding(.horizontal, 30)
                    .padding(.top, 20)

                Text("long text")
                    .multilineTextAlignment(.leading)
                    .foregroundColor(.gray)
                    .padding(.horizontal, 30)
                    .padding(.top, 20)

                Text("long text")
                    .multilineTextAlignment(.leading)
                    .foregroundColor(.gray)
                    .padding(.horizontal, 30)
                    .padding(.top, 20)

                Text("long text")
                    .multilineTextAlignment(.leading)
                    .foregroundColor(.gray)
                    .padding(.horizontal, 30)
                    .padding(.top, 20)

                Spacer(minLength: 50)


            }
            }.frame(width: UIScreen.main.bounds.size.width)

【问题讨论】:

  • 没有人知道如何解决?我在所有项目中的 ScollView 中都有这个错误!

标签: swift uikit swiftui scrollview


【解决方案1】:

使用

修复
.frame(width: UIScreen.main.bounds.size.width)
.fixedSize()

SwiftUI 不是自适应的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    相关资源
    最近更新 更多