【问题标题】:SwiftUI - navigationBarBackButtonSwiftUI - 导航栏后退按钮
【发布时间】:2019-07-10 05:31:25
【问题描述】:
  1. 如何更改SwiftUI 中的navigationBarBackButton 颜色? (经过 默认为蓝色)
  2. 如何更改 SwiftUI 中的 navigationBarBackButton 文本?

这是我的代码(示例):

struct ExercisesList : View {
    var exercises : [Exercise]
    var body: some View {

        NavigationView {
            List(self.exercises.identified(by: \.number)) {exercise in
                NavigationLink(destination: ExerciseDetailView(exercise: exercise)) {
                    ExerciseRow(exercisE: exercise)
                }
            }
            .navigationBarTitle(Text("Exercises"))

        }
    }
}

默认情况下,“ExerciseDetailView”中的navigationBarBackButton 的文本为Exercise,颜色为blue

我的问题是如何操纵这两个?

【问题讨论】:

  • 分享你的代码。
  • @mumu 示例代码添加

标签: navigationbar swiftui


【解决方案1】:

这里有一个解决方案。希望它会有所帮助。这样,您也可以使用自定义 UIColor。

struct ExercisesList : View {
    var exercises : [Exercise]

    var body: some View {

        UINavigationBar.appearance().tintColor = UIColor.red

        return  NavigationView {
            List(self.exercises.identified(by: \.number)) { exercise in
                NavigationLink(destination: ExerciseDetailView(exercise: exercise)) {
                    ExerciseRow(exercisE: exercise)
                }
            }
        }
        .navigationBarTitle(Text("Exercises"))


    }
}

【讨论】:

    【解决方案2】:

    目前,没有可用的直接方法(XCode 11 beta 3)。 但是,您可以使用 UINavigationBar 方法,

    见下面的代码:

    
     struct ExercisesList : View {
         var exercises : [Exercise]
    
         init() {
           //navigationBarBackButton color will change//
             UINavigationBar.appearance().tintColor = .purple
           // you can also set backgroundColor//
             UINavigationBar.appearance().backgroundColor = .white
         }
    
         var body: some View {
    
             NavigationView {
                 List(self.exercises.identified(by: \.number)) {exercise in
                     NavigationLink(destination: ExerciseDetailView(exercise: exercise)) {
                         ExerciseRow(exercisE: exercise)
                     }
                 }
                 .navigationBarTitle(Text("Exercises"))
             }
         }
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-27
      • 2021-09-08
      • 2022-12-21
      • 2023-03-16
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多