使用TabTabViewStyle的TabView上的edgeIgnoringSafeArea无法正常工作

时间:2020-06-26 11:38:26

标签: 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)Rectangle添加另一个ForEach也不起作用。

请注意,所有这些问题都不同,因为它们使用使用PageTabViewStyle()

在这种情况下,他们的解决方案(添加edgesIgnoringSafeArea(.all))无效。

3 个答案:

答案 0 :(得分:2)

这是我所拥有的最大……无论如何,我认为最初是一个错误,值得向Apple提交反馈。

通过Xcode 12b测试

demo

[vars]
test01_pem=/ok/test01.pem
test0_pem=/ok/test02.pem

[production]
10.0.0.100 ansible_ssh_user=ubuntu ansible_ssh_private_key_file=$test01_pem
10.0.0.200 ansible_ssh_user=ubuntu ansible_ssh_private_key_file=$test02_pem

答案 1 :(得分:0)

  1. 从TabView中删除.edgesIgnoringSafeArea(.all)
  2. 使用屏幕宽度和高度将框架添加到TabView
  3. 用ScrollView包裹TabView
  4. 将.edgesIgnoringSafeArea(.all)添加到ScrollView
selenium.common.exceptions.WebDriverException: Message: loggingPrefs is not the name of a known capability or extension capability

答案 2 :(得分:0)

我通过“扩展”TabView 的高度并将其“移”到顶部相同的量来解决这个烦人的问题:

struct ContentView: View {
    var body: some View {
        let yExtension: CGFloat = 50
        GeometryReader { g in
            TabView {
                Color.red.overlay(Text("1"))
                Color.green.overlay(Text("2"))
                Color.blue.overlay(Text("3"))
                Color.orange.overlay(Text("4"))
            }
            .frame(width: g.size.width, height: g.size.height + yExtension)
            .tabViewStyle(PageTabViewStyle(indexDisplayMode: .automatic))
            .font(Font.title.bold())
        }
        .offset(y: -yExtension)
        .edgesIgnoringSafeArea(.all)
    }
}

在 Xcode 12.4、iOS 14.4 上测试:

demo animation