Reactjs 在react本机ios应用程序中无法识别fontFamily

Reactjs 在react本机ios应用程序中无法识别fontFamily,reactjs,react-native,Reactjs,React Native,我正在努力加载我的字体,按Start2p。这是谷歌字体的字体。我已经多次经历了以下步骤,以确保我不马虎。根据所有指示,字体应在react native应用程序中可用 在我的项目目录的根目录下创建了资产文件夹 在资产文件夹中创建字体文件夹,并将字体文件放在。。。正如PostScript名称所示,并且使用了.otf和.ttf版本的字体 在package.json中,指定自定义字体的位置: 在我的终端中,输入npx react本机链接 在App.js中添加了我的字体 以下是整个App.js文件供参考:

我正在努力加载我的字体,按Start2p。这是谷歌字体的字体。我已经多次经历了以下步骤,以确保我不马虎。根据所有指示,字体应在react native应用程序中可用

  • 在我的项目目录的根目录下创建了资产文件夹
  • 在资产文件夹中创建字体文件夹,并将字体文件放在。。。正如PostScript名称所示,并且使用了.otf和.ttf版本的字体
  • 在package.json中,指定自定义字体的位置:
  • 在我的终端中,输入npx react本机链接
  • 在App.js中添加了我的字体
  • 以下是整个App.js文件供参考:

    import React, { Component } from 'react';
    import { Text, View , TouchableOpacity} from 'react-native';
    
    export default class HelloWorldApp extends Component {
      render() {
        return (
          <View style={{ backgroundColor:'#e9ffc945',flex: 1,
           justifyContent: "center", alignItems: "center" }}>
            <Text style={{fontSize:26, color: "#85321b45",
            fontFamily: "PressStart2P"}}>Allah'u'Abha :)</Text>
            <TouchableOpacity
              style={{
                backgroundColor:'#a4a6fc19',
                padding: 95,
                borderRadius: 19,
    
              }}
            >
             <Text
               style={{
                 color: "white",
                 fontSize: 20
               }}
             >
               </Text>
             </TouchableOpacity>
          </View>
        );
      }
    }
    
    
    import React,{Component}来自'React';
    从“react native”导入{Text,View,TouchableOpacity};
    导出默认类HelloWorldApp扩展组件{
    render(){
    返回(
    安拉·阿卜哈:)
    );
    }
    }
    

    另外,我已经在xcode中的项目目标中签入了我的复制包资源。。。文件在那里。有什么想法吗?

    我认为您使用的是iOS无法识别的字体系列名称。您应该使用每种字体的PostScript名称,而不是字体族名称

  • 打开字体库(聚光灯类型字体库)
  • 选择您的字体并查看更多信息,它将如下所示
    • 您需要将字体的PostScript名称指定为fontFamily。否则android会工作,但iOS会出现错误
    这是您的App.js的更新代码库

    import React, { Component } from 'react';
    import { Text, View , TouchableOpacity} from 'react-native';
    
    export default class HelloWorldApp extends Component {
      render() {
        return (
          <View style={{ backgroundColor:'#e9ffc945',flex: 1,
           justifyContent: "center", alignItems: "center" }}>
            <Text style={{fontSize:26, color: "#85321b45",
            fontFamily: "PressStart2P-Regular"}}>Allah'u'Abha :)</Text>
            <TouchableOpacity
              style={{
                backgroundColor:'#a4a6fc19',
                padding: 95,
                borderRadius: 19,
    
              }}
            >
             <Text
               style={{
                 color: "white",
                 fontSize: 20
               }}
             >
               </Text>
             </TouchableOpacity>
          </View>
        );
      }
    }
    
    import React,{Component}来自'React';
    从“react native”导入{Text,View,TouchableOpacity};
    导出默认类HelloWorldApp扩展组件{
    render(){
    返回(
    安拉·阿卜哈:)
    );
    }
    }
    
    • 之后,再次链接您的资产,并使用xcode清理项目并重建

    • 现在你准备好出发了


    在运行之前,请确保您已经链接了资产并清理了项目我认为您使用的是iOS无法识别的字体系列名称。您应该使用每种字体的PostScript名称,而不是字体族名称

  • 打开字体库(聚光灯类型字体库)
  • 选择您的字体并查看更多信息,它将如下所示
    • 您需要将字体的PostScript名称指定为fontFamily。否则android会工作,但iOS会出现错误
    这是您的App.js的更新代码库

    import React, { Component } from 'react';
    import { Text, View , TouchableOpacity} from 'react-native';
    
    export default class HelloWorldApp extends Component {
      render() {
        return (
          <View style={{ backgroundColor:'#e9ffc945',flex: 1,
           justifyContent: "center", alignItems: "center" }}>
            <Text style={{fontSize:26, color: "#85321b45",
            fontFamily: "PressStart2P-Regular"}}>Allah'u'Abha :)</Text>
            <TouchableOpacity
              style={{
                backgroundColor:'#a4a6fc19',
                padding: 95,
                borderRadius: 19,
    
              }}
            >
             <Text
               style={{
                 color: "white",
                 fontSize: 20
               }}
             >
               </Text>
             </TouchableOpacity>
          </View>
        );
      }
    }
    
    import React,{Component}来自'React';
    从“react native”导入{Text,View,TouchableOpacity};
    导出默认类HelloWorldApp扩展组件{
    render(){
    返回(
    安拉·阿卜哈:)
    );
    }
    }
    
    • 之后,再次链接您的资产,并使用xcode清理项目并重建

    • 现在你准备好出发了


    在运行之前,请确保已链接资产并清理项目推荐的方法是创建自己的组件,如MyAppText。MyAppText将是一个简单的组件,它使用您的通用样式呈现文本组件,并且可以通过其他道具等


    推荐的方法是创建自己的组件,如MyAppText。MyAppText将是一个简单的组件,它使用您的通用样式呈现文本组件,并且可以通过其他道具等


    您使用的是PressStart2P常规吗?**请参考此答案**您使用的是PressStart2P常规吗?**请参考此答案**很好。非常感谢你,阿奇拉@VP9很高兴它有帮助:)很好。非常感谢你,阿奇拉@VP9很高兴它有帮助:)