矢量字体不起作用
Vector font not working
我已经有 运行 react-native start
然后 react-native run-ios
。所以我的应用是 运行ning.
我将 ios-glyphs.ttf 放入根目录中名为 fonts 的文件夹中。所以./fonts
。然后我添加到 package.json 这个:
"rnpm": {
"assets": [
"fonts"
]
}
然后我运行react-native link
.
之后,我在我的应用程序中添加了一个仁德:
<Text style={{fontFamily:'ios-glyphs'}}></Text>
加载我的应用程序时它很好,但是当我加载呈现此自定义字体的页面时我得到 "Unrecognized font family 'ios-glyphs'",这是屏幕截图:http://i.imgur.com/G6hwlor.png
排除该错误后页面确实加载了,但图标看起来像一个方框内的问号,但我的真实图标是星号:
然后我做了一些时髦的东西。我以为我链接错了所以我更改了文件夹路径,并将字体移动到新文件夹并再次链接。然后我进入 xcode 并在 "Resources" 中看到其中两个,所以我删除了第一个,因为该文件夹不再存在。
有谁知道如何解决这个错误?我应该丢弃这个提交吗?它会让我觉得我从未链接过任何东西吗?我担心我可能用 xcode.
搞砸了我的项目
非常感谢@sfratini - - 字体名称实际上与文件名完全不同,正如教程所暗示的那样。
我是如何按照@sfratini 的说明找到真实字体名称的。
我打开了xcode,然后用xcode打开了我项目文件夹中的ios
文件夹,像这样。
然后我将此代码添加到 AppDelegate.m:
NSArray *families = [[UIFont familyNames] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
NSMutableString *fonts = [NSMutableString string];
for (int i = 0; i < [families count]; i++) {
[fonts appendString:[NSString stringWithFormat:@"\n%@:\n", families[i]]];
NSArray *names = [UIFont fontNamesForFamilyName:families[i]];
for (int j = 0; j < [names count]; j++) {
[fonts appendString:[NSString stringWithFormat:@"\t%@\n", names[j]]];
}
}
NSLog(@"%@", fonts);
然后在控制台日志中找到了新的图标名称。
我的项目文件夹:
打开 xcode:
单击文件夹,然后将代码添加到 AppDelegate.m,然后保存并 运行 react-native run-ios
或按下 "Play" 按钮,如下面的屏幕截图所示(您需要重新编译,我怀疑热重载是否有效但我没有测试):
然后在控制台日志中会吐出一个完整的字体名称列表:
我在链接之前做了字体,然后在链接之后做了一个差异来找到我的字体名称。
我已经有 运行 react-native start
然后 react-native run-ios
。所以我的应用是 运行ning.
我将 ios-glyphs.ttf 放入根目录中名为 fonts 的文件夹中。所以./fonts
。然后我添加到 package.json 这个:
"rnpm": {
"assets": [
"fonts"
]
}
然后我运行react-native link
.
之后,我在我的应用程序中添加了一个仁德:
<Text style={{fontFamily:'ios-glyphs'}}></Text>
加载我的应用程序时它很好,但是当我加载呈现此自定义字体的页面时我得到 "Unrecognized font family 'ios-glyphs'",这是屏幕截图:http://i.imgur.com/G6hwlor.png
排除该错误后页面确实加载了,但图标看起来像一个方框内的问号,但我的真实图标是星号:
然后我做了一些时髦的东西。我以为我链接错了所以我更改了文件夹路径,并将字体移动到新文件夹并再次链接。然后我进入 xcode 并在 "Resources" 中看到其中两个,所以我删除了第一个,因为该文件夹不再存在。
有谁知道如何解决这个错误?我应该丢弃这个提交吗?它会让我觉得我从未链接过任何东西吗?我担心我可能用 xcode.
搞砸了我的项目非常感谢@sfratini -
我是如何按照@sfratini 的说明找到真实字体名称的。
我打开了xcode,然后用xcode打开了我项目文件夹中的ios
文件夹,像这样。
然后我将此代码添加到 AppDelegate.m:
NSArray *families = [[UIFont familyNames] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
NSMutableString *fonts = [NSMutableString string];
for (int i = 0; i < [families count]; i++) {
[fonts appendString:[NSString stringWithFormat:@"\n%@:\n", families[i]]];
NSArray *names = [UIFont fontNamesForFamilyName:families[i]];
for (int j = 0; j < [names count]; j++) {
[fonts appendString:[NSString stringWithFormat:@"\t%@\n", names[j]]];
}
}
NSLog(@"%@", fonts);
然后在控制台日志中找到了新的图标名称。
我的项目文件夹:
打开 xcode:
单击文件夹,然后将代码添加到 AppDelegate.m,然后保存并 运行 react-native run-ios
或按下 "Play" 按钮,如下面的屏幕截图所示(您需要重新编译,我怀疑热重载是否有效但我没有测试):
然后在控制台日志中会吐出一个完整的字体名称列表:
我在链接之前做了字体,然后在链接之后做了一个差异来找到我的字体名称。