Use SF Symbols in React Native for iOS
npm install --save react-native-sfsymbols
# --- or ---
yarn add react-native-sfsymbols
Don't forget to run cd ios && pod install && cd ..
after that !
Libraries
➜ Add Files to [your project's name]
node_modules
➜ react-native-sfsymbols
and add RNSfsymbols.xcodeproj
libRNSfsymbols.a
to your project's Build Phases
➜ Link Binary With Libraries
Cmd+R
)<import { SFSymbol } from "react-native-sfsymbols";
export function Example() {
return (
<SFSymbol
name="thermometer.sun.fill"
weight="semibold"
scale="large"
color="red"
size={16}
resizeMode="center"
multicolor={false}
style={{ width: 32, height: 32 }}
/>
);
}
They can be animated with Animated
import { Animated } from "react-native";
import { SFSymbol } from "react-native-sfsymbols";
const AnimatedSFSymbol = Animated.createAnimatedComponent(SFSymbol);
<AnimatedSFSymbol
name="sun.min.fill"
style={{
opacity: new Animated.Value(1),
}}
/>;
The symbol name you want to display, can be seen in the SF Symbols application.
The color of the symbol written as a hex or color value. PlatformColor and DynamicColorIOS also works.
The (font) weight of the symbol.
ultralight
light
thin
regular
medium
semibold
bold
heavy
Multicolor has issues with this "thin" weight.
The scale of the symbol, it will optimise the thickness of detail strokes in the icon for different sizes.
small
medium
large
Enable multicolor, don't pass a "color" for it to work properly.
Font size of the icon as a number.
Resize mode of the icon. When "size" is given, it will default to "center" otherwise "scale-aspect-fill".
scale-to-fill
scale-aspect-fit
scale-aspect-fill
redraw
center
top
bottom
left
right
top-left
top-right
bottom-left
bottom-right
cover
contain
stretch