Задать вопрос
ynizhenie
@ynizhenie

Ошибка шрифта на iOS, Font.loadAsync. Как исправить?

Столкнулся с такой проблемой.Приложение было протестировано на Android - все хорошо. Сегодня я начал тестирование на iOS и произошла ошибка:

fontFamily "Roboto" is not a system font and has not been loaded through Font.loadAsync.
If you intended to use a system font, make sure you typed the name correctly and that it is supported by your device operating system.


Я понимаю что нужно добавить его как кастомный шрифт. Не могу понять куда. Использую функцию Font.loadAsync от expo. Но ошибка не пропадает.

Загрузочный index.js

import {AppRegistry} from 'react-native'
import RootNavigation from './App'
import {name as appName} from './app.json'


AppRegistry.registerComponent(appName, () => RootNavigation)


Потом грузиться RootNavigation.

import React from "react";
import { createBottomTabNavigator } from "react-navigation";
import Ionicons from "react-native-vector-icons/Ionicons";
import Feed from "./src/components/screens/Feed/";
import MapScreen from "./src/components/screens/MapScreen/MapScreen";
import Favorite from "./src/components/screens/Favorite/Favorite";
import Search from "./src/components/screens/Search/Search";
import Profile from "./src/components/screens/Profile/Profile";
import { BLUE } from "./constance";

const RootNavigation = createBottomTabNavigator(
  {
    1: Feed,
    2: MapScreen,
    3: Favorite,
    4: Profile,
    5: Search
  },
  {
    navigationOptions: ({ navigation }) => ({
      tabBarIcon: ({ focused, tintColor }) => {
        const { routeName } = navigation.state;
        let iconName;
        if (routeName === "1") {
          iconName = focused ? "ios-star" : "ios-star";
        } else if (routeName === "2") {
          iconName = focused ? "ios-map" : "ios-map";
        } else if (routeName === "3") {
          iconName = focused ? "ios-paper" : "ios-paper";
        } else if (routeName === "4") {
          iconName = focused ? "ios-person" : "ios-person";
        } else if (routeName === "5") {
          iconName = focused ? "ios-search" : "ios-search";
        }
        return <Ionicons name={iconName} size={22} color={tintColor} />;
      }
    }),
    tabBarOptions: {
      activeTintColor: BLUE,
      inactiveTintColor: "gray",
      inactiveBackgroundColor: "#1f1f1f",
      activeBackgroundColor: "#1f1f1f",
      style: {
        elevation: 30,
        backgroundColor: "green",
        borderTopWidth: 1,
        borderTopColor: "#1f1f1f"
      }
    }
  }
);

export default RootNavigation;


Я понимаю что нужно куда вставить это:

import { Font } from 'expo';

    state = {
      fontLoaded: false,
    };

    componentDidMount() {
        Font.loadAsync({
          'Roboto': require('./assets/fonts/Roboto.ttf'),
        });
      }


Но не понимаю куда. Помогите пожалуйста с проблемой.
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы