2017-03-16 129 views
0

我开始了一个非常基本的构建。 我正在使用'create-react-native-app'和pm。React-Native无法解析字体模块

从那里我试图完成的是加载一些UI元素的“本地基础”。

从app.js文件中,我添加的唯一东西是来自本机的按钮组件。

<Button> <Text></Text> </Button>

并已包括本土基地。

收到一些错误后,它couldn't resolve module '@expo/vector-icons'我去了,并安装@ expo/vector-icons,并为它的地狱跑react-native link

现在它可以找到@ expo/vector-icons,但它找不到以Ionicons.ttf开头的字体。

SO。从那里,我将所有字体下载到assets/fonts/目录,然后将其包含在我的app.js文件中,该文件基于我在世博会网站上找到的一些文档。

import { Font } from 'exponent'; 
/// 
export default class App extends React.Component { 
    componentDidMount() { 
    Font.loadAsync({ 
     'ionicons': require('./assets/fonts/Ionicons.ttf'), 
    }); 
    } 
/// 

回答

0

他们的方式我加载自定义字体是由在Info.plist文件将其添加为应用程序提供的字体列表:

enter image description here

而且他们也需要在在构建阶段提供资源:

enter image description here

之后,你可以在适当的fontFamily中使用它在CSS中反应本土。确保在添加字体后再次清理并生成项目,以便将它们复制到设备中。

+0

你如何“打扫和打造”?我添加了一个字体,但是我一直收到无法识别的字体错误。 :(http://stackoverflow.com/q/43301962/1828637(我没有使用create-react-native-app只是定期的react-native初始化) – Noitidart

+1

@Noitidart这可能是两件事情:字体不在你使用的设备或字体家族是错误的,请记住font​​-family并不总是与文件名相同,通常是第一个问题,所以清理和构建你需要反应 - native run-ios生成构建并重新运行它,或者我的方式是直接在Xcode中打开项目并使用“play”按钮运行它。如果您在Xcode中添加了这些项并立即修改react-native代码,问题在于字体没有被复制 – sfratini

+0

非常感谢@sfratini的洞察力 - 当我打开xcode时,我看到资源和复制阶段的字体。我怎样才能看到font-family的名字(如果它不是文件名)? – Noitidart

相关问题