ios - 带有 PageTabViewStyle 的 TabView 上的edgesIgnoringSafeArea 不起作用

标签 ios swiftui ios14

通过使用 .tabViewStyle(PageTabViewStyle()) 将 TabView 用作页面查看器工作正常,但试图通过应用 edgesIgnoringSafeArea 让它从一个边缘运行到另一个边缘似乎不起作用。
我在这里想念什么?

struct ContentView: View {
    let colors: [Color] = [.red, .green, .blue]
    var body: some View {
        TabView {
            ForEach(0...2, id: \.self) { index in
                Rectangle()
                    .fill(colors[index])
            }
        }
        .tabViewStyle(PageTabViewStyle())
        .edgesIgnoringSafeArea(.all)
    }
}
TabView + PageTabViewStyle + edgesIgnoringSafeArea
添加另一个 .edgesIgnoringSafeArea(.all)RectangleForEach也不行。
请注意,所有这些问题都是不同的,因为它们 不要使用使用 PageTabViewStyle() :
  • How do I use a TabView with a NavigationView in SwiftUI?
  • Adding a TabView makes the Navigation Bar not cover the safe area in SwiftUI
  • NavigationView doesn't display correctly when using TabView in SwiftUI
  • In my NavigationView '.edgesIgnoringSafeArea' does not move content past the safe area

  • 他们的解决方案(添加 edgesIgnoringSafeArea(.all) )在这种情况下不起作用。

    最佳答案

  • 从 TabView 中删除 .edgesIgnoringSafeArea(.all)
  • 将框架添加到具有屏幕宽度和高度的 TabView
  • 用 ScrollView 包裹 TabView
  • 将 .edgesIgnoringSafeArea(.all) 添加到 ScrollView
  • struct ContentView: View {
        let colors: [Color] = [.red, .green, .blue]
    
        var body: some View {
            ScrollView {
                TabView {
                    ForEach(0...2, id: \.self) { index in
                        Rectangle()
                            .fill(colors[index])
                    }
                }
                .frame(
                    width: UIScreen.main.bounds.width ,
                    height: UIScreen.main.bounds.height
                )
                .tabViewStyle(PageTabViewStyle())
                
            }
            .edgesIgnoringSafeArea(.all)
        }
    }
    

    关于ios - 带有 PageTabViewStyle 的 TabView 上的edgesIgnoringSafeArea 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62593923/

    相关文章:

    ios - 带有 Fql 的 Facebook 收件箱

    macos - 为什么 SwiftUI 列表行被选中但未突出显示 (MacOS)

    ios - 将 ScrollView 与 Array 一起使用时出现问题

    ios - SwiftUI 中的@Binding 和 ForEach

    ios - 为什么当附加到 nil 图像时,帧修饰符仍然会影响其他 View ?

    ios - 在 iOS 11 上使用大标题导航栏时更改状态栏背景颜色

    ios - UIImage 在 UIImageView iOS 中打开/关闭

    ios - 如何修复文件中缺少的必需架构 i386?

    ios - CNCopyCurrentNetworkInfo 不适用于 iOS 14

    iOS 14 通过 Facebook SDK 获得用户同意