gpt4 book ai didi

ios - SwiftUI Split View大标题不适用于 iPad

转载 作者:行者123 更新时间:2023-11-28 13:27:19 26 4
gpt4 key购买 nike

我正在尝试使用 SwiftUI 在 iOS 上构建一个带有侧边栏和详细 View 的非常简单的布局。但在 iPad 的详细 View 中似乎不可能有大标题。它实际上应该看起来像 Apple 的 Reminders 应用程序。

我想要什么(详细 View 中的蓝色文本提醒): This is what I want, the text 'Reminders' is a large title in a detail view

但是,在我自己的应用程序中,它不起作用。我在 Apple 找到了这个关于构建列表和导航的例子:https://developer.apple.com/tutorials/swiftui/building-lists-and-navigation

但它在那里也不起作用。即使我像这样在 LandmarkDetail.swift 中设置标题:

VStack {
MapView(coordinate: landmark.locationCoordinate)
.frame(height: 300)

CircleImage(image: landmark.image)
.offset(x: 0, y: -130)
.padding(.bottom, -130)

VStack(alignment: .leading) {
Text(landmark.name)
.font(.title)

HStack(alignment: .top) {
Text(landmark.park)
.font(.subheadline)
Spacer()
Text(landmark.state)
.font(.subheadline)
}
}
.padding()

Spacer()
}
.navigationBarTitle(Text(verbatim: landmark.name), displayMode: .large)

我在 iPhone 上测试过它,它可以正常工作。我还在细节中添加了另一个 NavigationView,但这只会让整个事情变得更糟。我有一个很大的标题,但标题显示在另一个导航栏下方,因此与顶部有很大的空白。

最佳答案

我确实尝试过以类似的方式在 Split View中保持两侧的大标题,但失败了。因此,我想您可以尝试在右侧添加自定义 View 。您可以在 HStack 中添加 NavigationView,并可以像下面这样排列 View screenshot

这是代码

    var body: some View {
HStack{
NavigationView {
List(landmarkData) { landmark in
NavigationLink(destination: LandmarkDetail(landmark: landmark)) {
LandmarkRow(landmark: landmark)
}.isDetailLink(false)
}
.navigationBarTitle(Text("Landmarks"), displayMode: .large)
}
NavigationView {
List(landmarkData) { landmark in
NavigationLink(destination: LandmarkDetail(landmark: landmark)) {
LandmarkRow(landmark: landmark)
}.isDetailLink(false)
}
.navigationBarTitle(Text("Landmarks"), displayMode: .large)
}
NavigationView {
LandmarkDetail(landmark: landmarkData[0])
.navigationBarTitle(Text("Landmarks"), displayMode: .large)
}
}
}

注意:目前在 iPad 中不支持双面大标题。

关于ios - SwiftUI Split View大标题不适用于 iPad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58124318/

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