Skip to main content

SF Symbols

Content

The preferable way to show icons on iOS is to use SF Symbols.

Browsing icons

All icons are stored as enum with names in /resources/symbols/sfSymbols. It contains mostly all the 3 100 icons.

To take a look at them without using them you can open SF Symbols App on macOS.

Using icons in navigation

BottomTab

react-native-navigation currently supports SF Symbols as icon in bottomTab:

Main.options = {
bottomTab: {
sfSymbol: SFSymbols["app.gift"],
sfSelectedSymbol: SFSymbols["app.gift.fill"],
},
};

It also applies same effect properties as Icon ones, like selectedIconColor or iconColor, see more properties here.

BackButton

SF Symbol can also be applied directly as topBar's backButton like so:

Main.options = {
topBar: {
backButton: {
sfSymbol: SFSymbols["arrow.backward.circle"],
},
},
};

Using icons as components

Usage of SF Symbols as components made possible by react-native-sfsymbols.

You can use it directly like so:

<SFSymbol 
name={SFSymbol["thermometer.sun.fill"]}
size={16}
multicolor={false}
/>

But it will be shown only on iOS, which is not desired.

To work with both iOS and Android, there's IconPlatform component, which shows SF Symbols on iOS and Material Icons on Android, it works next way:

<IconPlatform 
iosName={SFSymbols["thermometer.sun.fill"]}
androidName={"star-rate"}
size={32}
resizeMode={"contain"}
style={styles.clauseIcon}
/>