单击按钮时,将带您进入新视图,并在左上角放置一个后退按钮。我不知道哪个属性控制后退按钮的颜色。我尝试添加accentColor和前景颜色,但它们仅编辑视图中的项目。
var body: some View {
NavigationView {
NavigationButton(destination: ResetPasswordView()) {
Text("Reset Password")
.foregroundColor(Color(red: 0, green: 116 / 255, blue: 217 / 255))
.padding()
}
}
}
答案 0 :(得分:2)
我怀疑这是正确的方法,但是我通过修改SceneDelegate.swift来设置窗口色调颜色来使其正常工作。
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
// Use a UIHostingController as window root view controller
let window = UIWindow(frame: UIScreen.main.bounds)
window.rootViewController = UIHostingController(rootView: ContentView())
window.tintColor = .green // set the colour of the back navigation text
self.window = window
window.makeKeyAndVisible()
}
答案 1 :(得分:1)
您可以使用NavigationView上的accentColor
属性来设置后退按钮的颜色,如以下简单示例所示:
var body: some View {
NavigationView {
List(1..<13) { item in
NavigationLink(destination: Text("\(item) x 8 = \(item*8)")) {
Text(String(item))
}
}.navigationBarTitle("Table of 8")
}.accentColor( .black) // <- note that it's added here and not on the List like navigationBarTitle()
}
答案 2 :(得分:0)
一段时间以来,我试图做同样的事情,但是我认为还没有SwiftUI解决方案。 UIKit的外观是可以完成工作的一件事(如果它适用于您的用例)
UINavigationBar.appearance().tintColor = .black
答案 3 :(得分:0)
这对我有用:
let navBarAppearance = UINavigationBarAppearance()
navBarAppearance.backButtonAppearance.normal.titleTextAttributes = [.foregroundColor: UIColor.white]
答案 4 :(得分:0)
.navigationBarBackButtonHidden(true)
.navigationBarItems(leading:
Button(action: {presentation.wrappedValue.dismiss()}, label: {
HStack {
Image(systemName: "chevron.backward")
.foregroundColor(Color(UIColor.darkGray))
Text(username)
.foregroundColor(Color(UIColor.darkGray))
.font(UIHelper.largeSize())
}
})
答案 5 :(得分:0)
将 .accentColor 修饰符添加到 NavigationView,如下所示
NavigationView {
Text("Hello World")
.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
Button("Close") { }
}
}
}
.accentColor(.themeColor)
答案 6 :(得分:0)
如果您使用的是 XCode 12,请考虑在 Assets.xcassets
中设置 AccentColor。 XCode 将在应用中的所有导航返回按钮上使用此颜色。
请注意,这也会影响其他 UI 元素。其中之一是按钮。您始终可以使用重音颜色修饰符覆盖它:
Button("Button With Different Accent Color") {
// do something useful
}
.accentColor(.red)
答案 7 :(得分:-1)
您可以尝试将前景色或accentColor设置为NavigationView(在倒数第二个括号之后)