SFIcons
Generate simple icons using SFSymbols, emojis, or text. Just like Contacts and Reminders!
Usage
Simply create an SFIcon
and use within an SFIconview
. Modifiers still apply to the underlying SFSymbol Image
and Text
for further native customization.
let sfIcon: SFIcon = SFIcon(
icon: .sfSymbol(systemName: "list.bullet"),
iconStyle: .color(.white),
shape: .circle,
shapeStyle: .color(.red)
)
// ... in `View`
var body: some View {
SFIconView(sfIcon: sfIcon)
.fontWeight(.heavy) // The SFSymbol font will be heavy
}
Customization
An icon can be a defined SFSymbol systemName
or String
, about 2 uppercased characters can fit comfortably.
.sfSymbol("figure.run") |
.string("😂") |
.string("SJ") |
---|---|---|
![]() |
![]() |
![]() |
Example
A sample project is provided for iOS, tvOS, and macOS. tvOS and macOS will generate a random icon and iOS has a customizable view that replicates the list creation from Reminders with emoji and text icon input.
![iOS example](https://private-user-images.githubusercontent.com/20747774/254477945-894b7bd8-0176-4e41-992e-79182564926c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDQ0MzA4MzEsIm5iZiI6MTcwNDQzMDUzMSwicGF0aCI6Ii8yMDc0Nzc3NC8yNTQ0Nzc5NDUtODk0YjdiZDgtMDE3Ni00ZTQxLTk5MmUtNzkxODI1NjQ5MjZjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAxMDUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMTA1VDA0NTUzMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJlNjBmYjA3N2U3NGMyNzZlMmQ2OWI5Y2U1YTAxNzIxNDIyM2E4NDFmNDczM2Y1OTdiNDVhYWY4ZDhkYzE2NGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.8_uutJ5kn_hwwSxOrlqnZcG8g0PrDyngx-NJhrUe-fY)