首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwiftUI在iPhone 7和iPhone 14上的填充

SwiftUI在iPhone 7和iPhone 14上的填充
EN

Stack Overflow用户
提问于 2022-11-22 23:13:26
回答 1查看 24关注 0票数 0

我正在构建一个相对简单的闪存卡应用程序使用SwiftUI。我有一个垂直堆栈,里面有zStacks和hStacks。我认为我的填充应用是正确的,但困扰我的一个奇怪之处是,当我在模拟器的iPhone 14上运行这个应用程序时,它看起来应该是:

但是,当我在自己的设备(即iPhone 7 )上运行它时,填充并不应用于视图的尾部和前缘(左和右),而是垂直地应用于填充:

填充在这里应用于代码中:

代码语言:javascript
复制
  var body: some View {
ZStack {
  Color("MyGray")
    .edgesIgnoringSafeArea(.all)
  VStack {
    
    ZStack {
      topCard
      bottomCard
    }.padding(10)
    
    VStack {
      ZStack {
        RoundedRectangle(cornerRadius: 20.0)
        Picker(selection: $selectedTopic, label: Text(topicPickerLabel)) {
        }
      }
      
      ZStack {
        RoundedRectangle(cornerRadius: 20.0)
        Picker(selection: $shownSelected, label: Text(shownPickerLabel)) {
          }
      }
      
      ZStack {
        RoundedRectangle(cornerRadius: 20.0)
        Picker(selection: $guessSelected, label: Text(guessPickerLabel)) {
          }
      }
    }.padding(10)
    
    HStack {
      ZStack {
        RoundedRectangle(cornerRadius: 20.0)
        Button("FLIP               ") {
        }
      }
      Spacer()
      ZStack {
        RoundedRectangle(cornerRadius: 20.0)
        Button("NEXT               ") {
        }
      }
    }.padding(10)
    
  }
  .padding()
}

如果有人对这件事有什么看法,我将不胜感激。最有可能的情况是我做错了什么,毕竟我是个新手!但也许这仅仅是iOS 15.6在断言自己?提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2022-11-23 02:49:46

你能用和示例代码一样的感觉来测试它吗?

我在您的代码中找不到可能有问题的地方,但我认为在某个地方出现了问题,因为有太多的Z堆栈重叠。

代码语言:javascript
复制
import SwiftUI

struct ContentView: View {
    var body: some View {
        
        VStack {
            Rectangle()
                .fill(.white)
                .overlay(Text("Pick a Topic to study below."))
                .padding(10)
            
            VStack {
                RoundedRectangle(cornerRadius: 20.0)
                    .fill(.white)
                    .overlay(Text("topicPickerLabel"))
                
                RoundedRectangle(cornerRadius: 20.0)
                    .fill(.white)
                    .overlay(Text("shownPickerLabel"))

                RoundedRectangle(cornerRadius: 20.0)
                    .fill(.white)
                    .overlay(Text("guessPickerLabel"))
            }.padding(10)
            
            HStack {
                RoundedRectangle(cornerRadius: 20.0)
                    .fill(.white)
                    .overlay(
                        Button("FLIP               ") {}
                    )
                Spacer()
                RoundedRectangle(cornerRadius: 20.0)
                    .fill(.white)
                    .overlay(
                        Button("NEXT               ") {}
                    )
            }.padding(10)
        }
        .edgesIgnoringSafeArea(.all)
        .padding()
        .background(.gray)
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
            .previewDevice("iPhone 14 Pro")
        ContentView()
            .previewDevice("iPhone SE (3rd generation)")
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74540041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档