【发布时间】:2020-04-03 11:50:53
【问题描述】:
是否可以使用 SwiftUI 显示 TabItem 徽章?
使用 UIKit 很容易实现,就像这里描述的那样 ->
How to set badge value in Tab bar?
我没有找到使用 SwiftUI 的方法。 唯一可行的方法是使用场景 rootViewController 访问 UITabBarController 并直接修改其标签栏项。
func setBadgeCount(_ count: Int) {
UIApplication.shared.applicationIconBadgeNumber = count
guard let delegate = app.connectedScenes.first?.delegate as? SceneDelegate else {
return
}
if let tabBarController = delegate.window?.rootViewController?.children.first {
tabBarController.viewControllers?.first?.tabBarItem.badgeValue = "\(count)"
}
}
任何想法如何使用原生 SwiftUI 方法做到这一点?
【问题讨论】:
-
SwiftUI 3(需要 iOS 15)现在有一个
.badge修饰符。 See this answer for an example.
标签: swift uitabbarcontroller swiftui uitabbar uitabbaritem