首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwiftUI 2/ WatchOS7 -更改NavigationBar按钮和文本颜色(原来是浅色,现在是重音颜色)

SwiftUI 2/ WatchOS7 -更改NavigationBar按钮和文本颜色(原来是浅色,现在是重音颜色)
EN

Stack Overflow用户
提问于 2021-02-07 00:53:34
回答 1查看 610关注 0票数 1

我使用新的Xcode 12 / SwiftUI LifeCycle方法将我的Xcode 11更新为Xcode 12。不幸的是,在这样做时,"tint颜色“(它定义了NavigationBar后退按钮和测试的颜色)丢失了&恢复到默认设置(这不是我想要的,也不是我在Xcode 11中设置的)。

有谁知道如何在NavigationBar上更改‘back’按钮和文本的颜色--使用Xcode 12 & WatchOS7的新生命周期SwiftUI?

在xcode 11中,可以使用StoryBoard上的检查器来更改‘tint’颜色(对于整个应用程序)。但是在xcode 12中有了新的SwiftUI生命周期,我不知道它现在是如何设置的(可能是应用程序的‘init()’中的某个参数?)

我尝试了下面的代码,但是它给出了下面的语法错误(请记住这是用于WatchOS7的):

“无法在范围内找到'UINavigationBarAppearance‘”

代码语言:javascript
复制
@main
struct myApp: App {
    
   init() {
        
    print("App Initializing....")
        
            let navBarAppearance = UINavigationBarAppearance()
            navBarAppearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]
            navBarAppearance.titleTextAttributes = [.foregroundColor: UIColor.white]
   }

   @SceneBuilder var body: some Scene {
            WindowGroup {
                ContentView()
        }
   }
}

也曾尝试过:

代码语言:javascript
复制
@SceneBuilder var body: some Scene {
            WindowGroup {
                ContentView().accentColor(.white)
        }

但是这没有任何效果(不管.accentColor修饰符放在哪里)。有什么帮助/建议吗?

谢谢!

杰勒德

  1. SwiftUI NavigationBar WatchOS7
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-07 12:14:23

好的-从苹果的文档中看出来了!请参阅:https://developer.apple.com/documentation/watchos-apps/setting-the-app-s-accent-color/

并遵循“更新现有项目”的说明。

注意:新的"AccentColor“颜色集必须添加到框架->AppName WatchKit App->Assets.xcAsset文件中的资产中。这是相同的文件,应用程序的图标被放置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66083524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档