0

我的 iOS 14 App 屏幕有以下设置:

import SwiftUI
import UIKit

struct MyNavigationView: View {
    
    init() { // Color Settings
        UINavigationBar.appearance().barTintColor = UIColor(named:"ToolbarBackgroundColor")
        UINavigationBar.appearance().tintColor = UIColor(named: "ToolbarForegroundColor")
        UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor(named:"ToolbarForegroundColor")]
        UIToolbar.appearance().barTintColor = UIColor(named:"ToolbarBackgroundColor")
        UIToolbar.appearance().tintColor = UIColor(named: "ToolbarForegroundColor")
       }
       
    var body: some View {
        NavigationView {
            Text("Hello, SwiftUI 2.0 World!") // content
                .navigationBarTitleDisplayMode(.inline)
                .navigationTitle("MyApp") // navigation bar title
                .toolbar(content: {
                    // navigation bar leading item
                    ToolbarItem(placement: .navigationBarLeading) {
                        Text("Hi!").foregroundColor(Color("ToolbarForegroundColor"))
                    }
                    // navigation bar trailing item
                    ToolbarItem(placement: .navigationBarTrailing) {
                        VStack(content: {
                            Text("up").foregroundColor(Color("ToolbarForegroundColor"))
                            Text("down").foregroundColor(Color("ToolbarForegroundColor"))
                        })
                    }
                    // toolbar at the bottom of the screen
                    ToolbarItemGroup(placement: .bottomBar) {
                        Button(action:{
                            print("home")
                        }) {
                            Image(systemName: "house.fill")
                                .renderingMode(.template)
                                .foregroundColor(Color("ToolbarForegroundColor"))
                        }
                        Spacer()
                        Button(action:{
                            print("pages")
                        }) {
                            Image(systemName: "square.grid.3x2")
                                .renderingMode(.template)
                                .foregroundColor(.white)
                        }
                        Spacer()
                        Button(action:{
                            print("like")
                        }) {
                            Image(systemName: "star.fill")
                                .renderingMode(.template)
                                .foregroundColor(.white)
                        }
                        Spacer()
                        Button(action:{
                            print("user")
                        }) {
                            Image(systemName: "person.fill")
                                .renderingMode(.template)
                                .foregroundColor(.white)
                        }
                    }
                })
        }
    }
}

到目前为止它的工作原理......

  • 但是我对该行有多个警告 UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor(named:"ToolbarForegroundColor")] 如果我替换UIColorColorlike UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: Color("ToolbarForegroundColor")] 警告消失但我崩溃了......有什么问题?

  • 而且我也想摆脱导航栏标题......这可能吗?

4

1 回答 1

0

我通过向导航栏标题添加默认值来解决警告:

UINavigationBar.appearance().titleTextAttributes = [.foregroundColor: UIColor(named:"ToolbarForegroundColor") ?? .white]

仍在寻找如何摆脱标题。

编辑:使用空字符串暂时摆脱标题...

于 2021-02-16T07:02:57.473 回答