删除 space NavigationTitle 但不删除后退按钮
Remove space NavigationTitle but not the back button
我想删除 NavigationTitle Space 而不删除后退按钮。
我已经试过了:
.navigationBarItems(trailing:
NavigationLink(destination: Preferences(viewModel: viewModel).navigationBarHidden(true)) {
Image(systemName: "gear")
.font(.title2)
}
)
但这也删除了后退按钮。
标准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)
}
}
我想删除 NavigationTitle Space 而不删除后退按钮。
我已经试过了:
.navigationBarItems(trailing:
NavigationLink(destination: Preferences(viewModel: viewModel).navigationBarHidden(true)) {
Image(systemName: "gear")
.font(.title2)
}
)
但这也删除了后退按钮。
标准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)
}
}