ios - 将导航栏标题文本更改为自定义颜色?

标签 ios swift swiftui uikit

我正在尝试在我的 appDelegate 中使用以下代码将标题栏文本更改为自定义淡紫色阴影

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor(red: 0.9069682956, green: 0.7839415669, blue: 0.9612388015, alpha: 1)]

    return true
}

但是标题栏文本仍然显示为黑色。有没有更好的方法来改变这个?

最佳答案

可能还为时过早,请尝试在 ContentViewinit 中添加,并添加一些大标题(SwiftUI NavigationView 的默认值),例如

struct ContentView: View {

    init() {
        UINavigationBar.appearance().titleTextAttributes = 
            [NSAttributedString.Key.foregroundColor: 
               UIColor(red: 0.9069682956, green: 0.7839415669, blue: 0.9612388015, alpha: 1)]
        UINavigationBar.appearance().largeTitleTextAttributes = 
            [NSAttributedString.Key.foregroundColor: 
               UIColor(red: 0.9069682956, green: 0.7839415669, blue: 0.9612388015, alpha: 1)]
    }

    // ... other code with NavigationView here
}

使用 Xcode 12.1/iOS 14.1 进行测试

关于ios - 将导航栏标题文本更改为自定义颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64763512/

相关文章:

ios - 与 UIActivityViewController 共享文本文件

ios - UITableViewCell 中具有第一响应者状态的 UITextField 是否会阻止单元格重复使用?

ios - WKWebView 媒体播放器全屏检测

swift - 如何检测NSWindow是否被拖动?

ios - 如何在 Collectionview 单元格中为 Uiimageview 设置圆角

ios - 接口(interface) 'my_framework' 上类别 'NSObject' 的重复定义

Swift - 将文本和 int 从 vc1 传递到 vc 2 (uitextfield -> vc2 中的标签)

swiftui - SwiftUI 中带有 ScrollView 和标题 View 的 NSTableView

ios - SwiftUI Map iOS 14 处理拖动和放大手势

SwiftUI 变暗修饰符