SwiftUI изменяет цвет кнопки «Назад» в NavigationLink

#swiftui

#swiftui

Вопрос:

В моем коде SwiftUI у меня есть представление с вкладками, а внутри представления вкладок у меня есть следующий код:

           NavigationView{
            VStack{
                 Form{
                     Section(){
                         NavigationLink(destination: Text("Second View")) {
                             Text("Elaqe")
                         }
                      } // section
                 } //form
             }
             .modifier(NavBarModifier(font: self.fontUI,text: "Support"))
         }
         .navigationViewStyle(StackNavigationViewStyle())
  

Когда я нажимаю на навигационную ссылку, я получаю следующее:

введите описание изображения здесь

она едва читаема, и я бы хотел изменить ее цвет. Как я могу это сделать?

Редактировать 1: По-видимому, цвет кнопки «Назад» зависит от TabView accentColor . Возможно ли сохранить оранжевый цвет акцента в представлении с вкладками и изменить цвет кнопки «Назад» на что-то другое?

Правка 2: модификатор панели навигации

 func body(content: Content) -> some View {
        return content
        .zIndex(0)
        .animation(.spring())
        .padding(.top,80)
        .navigationBarTitle(Text(self.text),displayMode: .inline)
        .navigationBarHidden(false)
        .foregroundColor(.orange)
        .background(NavigationConfigurator { nc in
                       nc.navigationBar.barTintColor = UIColor(red: 243/255, green: 107/255, blue: 21/255, alpha: 1)
                       nc.navigationBar.titleTextAttributes = [
                        .foregroundColor : UIColor.white,
                        .font : self.font,
                        .kern: 1.2
                       ]
        }
        .padding([.top, .leading, .trailing]))
    }
  

Комментарии:

1. Не могли бы вы показать NavBarModifier?

2. @Asperi Я добавил это к вопросу. Однако я обнаружил, что это связано с цветом акцента в представлении вкладки, а не с navbarmodifier.

3. На Xcode 12b3 / iOS 14 < Support на всякий случай синий.

4. спасибо за это «По-видимому, цвет кнопки «Назад» зависит от цвета акцента TabView» 🙂

Ответ №1:

Мне пришлось изменить NavigationView цвет акцента.

Комментарии:

1. Молодец! Просто имейте в виду, что он меняет цвет не только для кнопки «Назад», но и для всех активных элементов по умолчанию внутри NavigationView (кнопок, элементов панели и т.д.).