.navigationTitle
一些观点似乎有一些问题。在某些观点上(并且仅在某些时候),不会像预期的那样.navigationTitle
从.large
变为。.inline
相反,标题在向上滚动时保持原位,并且导航栏完全不可见(如下面的视频中所述)。这一切都是每次都可以重现的。
我没有在堆栈溢出或 Apple 开发者论坛上找到任何遇到此问题的人。有些人产生了与此类似的结果,但这些都是通过删除一些样式化代码来修复的.navigationbar
,我没有在我的代码中的任何地方对其进行任何修改。
以下是我的一些代码片段:
import SwiftUI
struct WelcomeUI: View {
var body: some View {
NavigationView {
VStack {
//NavigationLink(destination: SignupUI(), label: {
//Text("Sign Up")
//}
NavigationLink(destination: LoginUI(), label: {
Text("Log In")
})
}
}
}
}
struct LoginUI: View {
var body: some View {
VStack {
NavigationLink(destination: MainUI(), label: { Text("Log In") })
//Button(action: { ... }
}
.navigationBarHidden(false)
}
}
struct MainUI: View {
@State var selectedTab: Views = .add
var body: some View {
TabView(selection: $selectedTab) {
SpendingView()
.tabItem {
Image(systemName: "bag.circle")
Text("Spending")
}.tag(Views.spending)
Text("Adding View")
.tabItem {
Image(systemName: "plus")
Text("Add")
}.tag(Views.add)
Text("Edit View")
.tabItem {
Image(systemName: "pencil")
Text("Edit")
}.tag(Views.edit)
SettingsView()
.tabItem {
Image(systemName: "gear")
Text("Settings")
}.tag(Views.settings)
}
.navigationBarTitle(Text(selectedTab.rawValue))
.navigationBarBackButtonHidden(true)
}
}
enum Views: String {
case spending = "Spending"
case add = "Add"
case edit = "Edit"
case settings = "Settings"
}
struct SettingsView: View {
var body: some View {
VStack{
ZStack {
Form {
Section(header: Text("Section Header")) {
NavigationLink(destination: WelcomeUI()) {
Text("Setting Option")
}
}
Section {
//Button("Log Out") {
//self.logout()
//}
Text("Log Out")
}
}
Button("say-high", action: {print("Hi")})
}
}
}
}
struct SpendingView: View {
var body: some View {
ScrollView{
Text("SpendingView")
NavigationLink("subSpending", destination: SubSpendingView())
}.padding()
}
}
struct SubSpendingView: View {
var body: some View {
ScrollView{
Text("SubSpendingView")
}.navigationBarTitle("SubSpending")
}
}
它几乎看起来像是 SwiftUI 本身的一个错误,因为关闭控制中心的事实使它可以工作,但没有动画(如视频中所示)。此外,更改首先选择哪个视图@State var selectedTab: Views
似乎让所选视图按预期工作,但让其余选项卡混乱。
当我在我的 iPad 上构建和运行该应用程序时,它的行为符合预期,没有错误,只有在我的 iPhone 和 Mac 上的 iOS 模拟器上运行时,它才会这样做,有什么办法可以解决这个问题?