【问题标题】:Remove space NavigationTitle but not the back button删除空间 NavigationTitle 但不删除后退按钮
【发布时间】:2020-12-31 16:34:39
【问题描述】:
我想在不移除后退按钮的情况下移除 NavigationTitle Space。
我已经试过了:
.navigationBarItems(trailing:
NavigationLink(destination: Preferences(viewModel: viewModel).navigationBarHidden(true)) {
Image(systemName: "gear")
.font(.title2)
}
)
但这也会删除后退按钮。
【问题讨论】:
标签:
ios
swift
swiftui
swiftui-navigationlink
swiftui-navigationview
【解决方案1】:
标准的Back按钮不能在没有导航栏的情况下显示,因为它是导航项,所以是导航栏的一部分。我假设你只需要透明的导航栏。
这里是可能解决方案的演示(使用 Xcode 12.1 / iOS 14.1 测试)/图像用于提高可见性 /
struct ContentView: View {
init() {
let navBarAppearance = UINavigationBarAppearance()
navBarAppearance.configureWithTransparentBackground()
UINavigationBar.appearance().standardAppearance = navBarAppearance
}
var body: some View {
NavigationView {
ZStack {
Image("large_image")
NavigationLink(destination: Image("large_image")) {
Text("Go to details ->")
}
}
.navigationBarItems(trailing: Button(action: {}) {
Image(systemName: "gear")
.font(.title2)
}
)
.navigationBarTitle("", displayMode: .inline)
}.accentColor(.red)
}
}