Vitamin provides a VitaminBadge
for SwiftUI.
import SwiftUI
import VitaminCore
import VitaminSwiftUI
// This badge will be red with a value of 2 in the medium size
let badgeView = VitaminBadge(value: 2, variant: .alert, size: .medium)
// This button will be yellow without any value in the small size
let badge = VitaminBadge(variant: .accent)
VitaminBadge
handles 5 variants (the default is .standard
):
.standard
.alert
.accent
.brand
.reversed
You can pass an optional value as integer.
- If the value is
nil
, the badge will be empty and smaller. - If the value exceeds
100
, the text displayed will be 99+. - Every other value will be displayed as is.
VitaminBadge
handles 3 sizes (the default is .small
):
.small
.medium
.large
You have two choices to add a badge to a View:
- Instantiate yourself the
VitaminBadge
, and place it in your view. - Use the
.vitaminBadge(:variant:size:)
modifier. This modifier will add the badge on the top trailing of the view.
import SwiftUI
import VitaminCore
import VitaminSwiftUI
struct BadgesView: View {
var body: some View {
VStack {
// Badge only
VitaminBadge(10, variant: .alert, size: .small)
// Badge on the top trailing of the view
Vitamix.Fill.Media.notification.swiftUIImage
.vitaminBadge(10, variant: .alert, size: .small)
}
}
}