自定义徽章颜色 SwiftUI

use*_*555 2 badge swiftui

我需要更改 swiftUI 中 tabItem 徽章的颜色。我创建了这个 pod https://github.com/jogendra/BadgeHub 可以与 swiftUI 一起使用吗?

我有选项卡项目:

 TabView(selection: $selection) {
            FeaturedView(users: filteredUsers, usersCount: filteredUsersCount)
                .tabItem {
                    Image(selection == 0 ? "ic_searchFill" : "ic_search").renderingMode(.template)
                }
                .tag(0)
            LikesView(userViews: self.userViews, userLikes: self.userLikes)
                .tabItem {
                    Image(selection == 1 ? "ic_heartFill" : "ic_heart").renderingMode(.template)
                }
                .badge(userLikesCount)
                .tag(1)
            ConversationsView(conversations: conversations)
                .tabItem {
                    Image("ic_chat").renderingMode(.template)
                }
                .badge(conversationsCount)
                .tag(2)
            SettingsView(user: user)
                .tabItem {
                    Image(selection == 3 ?  "ic_profileFill" : "ic_profile").renderingMode(.template)
                }
                .tag(3)
        } 
Run Code Online (Sandbox Code Playgroud)

Asp*_*eri 6

实际上我们也可以通过外观配置 SwiftUI 徽章颜色。

演示

使用 Xcode 13.4 / iOS 15.5 进行测试

init() {
    UITabBarItem.appearance().badgeColor = .purple   // << here !!
}

var body: some View {
    TabView {
        Color.green.overlay(Text("One"))
            .tabItem { Image(systemName: "car") }
            .badge(4)
// ...
Run Code Online (Sandbox Code Playgroud)