swiftui - Swift UI - 为 iPad 和 iPhone 设置视图
问题描述
我是使用 Swift UI 的新手,并且正在编写一个简单的应用程序来学习。我希望 iPad 上的视图与 iPhone 上的视图相同,但是 iPad 显示一个空白屏幕,其中视图刚刚超出范围。我尝试使用GeometryReader
以下方法尝试修复:
var body: some View {
NavigationView {
GeometryReader { bounds in
VStack(alignment: .center){
Text("Welcome to Fair Rent")
.font(Font.system(size: 30, design: .rounded))
.fontWeight(.bold)
.frame(width: nil)
Image(systemName: "person.3.fill")
.font(.largeTitle)
.padding(2)
Text("How many people do you live with?")
.font(Font.system(size:20, design: .rounded))
.multilineTextAlignment(.center)
.lineLimit(nil)
.padding(18.0)
NavigationLink(destination: FairRentView(viewModel: FairRentViewModel(Amounts(), housemates: 1)))
{
Text(" 1 other person")
.styledLinkLabel(with: gradient)
}
NavigationLink(destination: FairRentView(viewModel: FairRentViewModel(Amounts(), housemates: 2)))
{
Text(" 2 other people")
.styledLinkLabel(with: gradient)
}
NavigationLink(destination: FairRentView(viewModel: FairRentViewModel(Amounts(), housemates: 3)))
{
Text(" 3 other people")
.styledLinkLabel(with: gradient)
}
}
.frame(width: bounds.size.width, height: bounds.size.height)
}.navigationBarTitle("Fair Rent", displayMode: .inline)
}
}
有人可以指出如何在 Swift UI 中正确执行此操作的正确方向吗?谢谢
解决方案
使用导航视图样式
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(destination: DetailView()) {
Text("Tap Me")
}.navigationBarTitle(Text("ContentView"))
Text("Hello, I'm a Detail View")
}.navigationViewStyle(StackNavigationViewStyle())
}
}
struct DetailView: View {
var body: some View {
Text("Hello, I'm a Detail View")
}
}
平板电脑:
苹果手机:
推荐阅读
- reactjs - 完整的日历计划程序与 SharePoint 框架 (REACT)
- flutter - 如何列出所有 Flutter 包和版本号
- validation - 如何在 ionic 4 angular 8 中设置登录验证
- r - 手动将图例添加到重叠的 ggplot2 不起作用
- python - 摆脱时间戳以便将数据插入到 sql 表中
- ios - ld:由于残留的 Firebase 组件,未找到框架 FirebaseAuth 错误
- reactjs - 类型 '{ children?: ReactNode; 上不存在属性 'firebase' }' 如何正确注释?
- c - 指针的行为类似于本地变量,并且没有在函数中保留它的修改
- c++ - 如何提取给定数字的 p MSB 位
- tensorflow - Tensorflow2.0.0 中的 Concat OP