gpt4 book ai didi

ios - SwiftUI:导航栏不会填满 iPhone X 和更新设备的屏幕顶部

转载 作者:行者123 更新时间:2023-12-01 16:06:33 24 4
gpt4 key购买 nike

我已经使用 SwiftUI 和导航 View 创建了一个主从应用程序,但导航栏在细节 View 上没有正确显示。它不会填满 iPhone X 和更新设备上的屏幕顶部(时间和状态图标所在的位置)。我使用主从模板在 Xcode 中创建了一个新项目,该应用程序呈现得很好。我已经将我的应用程序与模板进行了比较,老实说,我找不到任何不合适的地方,所以欢迎提出任何建议!

这是我的应用程序的屏幕截图。注意导航栏没有填满屏幕顶部:

My app, which does not render the navigation bar properly.

这是模板应用程序的屏幕截图,它显示了应有的栏:

Template app, which displays the bar properly.

这是主 View 的代码:

struct ListView: View {

@State var showNewAssignmentModal = false
@Environment(\.managedObjectContext) var context
@FetchRequest(entity: Assignment.entity(), sortDescriptors: [NSSortDescriptor(keyPath: \Assignment.dueDate, ascending: true), NSSortDescriptor(keyPath: \Assignment.name, ascending: true)]) var assignments: FetchedResults<Assignment>

var body: some View {
NavigationView {
List(assignments, id: \.self) { assignment in
AssignmentRow(assignment: assignment).environment(\.managedObjectContext, self.context)
}

.navigationBarTitle(Text("Lists"))
.navigationBarItems(
leading: EditButton(),
trailing: Button(
action: {
self.showNewAssignmentModal = true
}
) {
Image(systemName: "plus").imageScale(.large)

} .sheet(isPresented: $showNewAssignmentModal) {
NewAssignmentView().environment(\.managedObjectContext, self.context)
}
)

}
}
}

这是详细 View 的代码:
struct AssignmentDetailView: View {

@Binding var assignment: Assignment
@Environment(\.managedObjectContext) var context

var body: some View {
Text("Hello")
.padding()
.navigationBarTitle(Text(""), displayMode: .inline)

}
}

最佳答案

您应该能够将此修饰符添加到您的 NavigationView
.edgesIgnoringSafeArea(.top)
到哪里它只会忽略顶部。您也可以设置 .bottom.all也取决于您需要的应​​用程序。希望这有效!

关于ios - SwiftUI:导航栏不会填满 iPhone X 和更新设备的屏幕顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59290875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com