调试React Native中特定字体无效的原因

时间:2015-12-07 20:59:48

标签: ios fonts react-native

我目前正在使用许多不同的字体。所有这些都在工作,除了一个特定的。

我添加它的方式与我添加的其他工作方式相同:

  1. 将字体导入项目
  2. 修改info.plist
  3. 找到正确的字体系列名称(我是通过在RCTConvert中插入NSLog来实现的)
  4. 通过CSS与fontFamily
  5. 一起使用react-native中的字体

    不幸的是我不能公开分享这个字体,所以我不得不问如何调试这个问题?

3 个答案:

答案 0 :(得分:3)

一个可能的罪魁祸首是字体粗细。我试图在一个点上使用权重为325的字体,但React Native似乎不允许使用字体,除非权重落在其枚举值内(正常,粗体,100-900范围内的所有数百)

我使用此应用修改了我尝试使用的文件的字体粗细,并将其设置为标准400:https://glyphsapp.com

答案 1 :(得分:1)

在AppDelegate.m中,在NSURL * jsCodeLocation下,粘贴以下代码。这将注销所有可用的字体,包括您添加的新字体:

for (NSString* family in [UIFont familyNames])
{
  NSLog(@”%@”, family);
  for (NSString* name in [UIFont fontNamesForFamilyName: family])
  {
    NSLog(@” %@”, name);
  }
}

这样,您就可以获得在应用中使用的确切字体名称。日志输出应如下所示:

enter image description here

答案 2 :(得分:0)

我需要使用Swift的相同解决方案。这是在Swift中打印Font Familes和Faces的脚本(在appDelegate中工作)

let fontFamilies =  UIFont.familyNames()
    for  fontNames in fontFamilies{
      print(fontNames)
        let fontFace = UIFont.fontNamesForFamilyName(fontNames)
        for aName in fontFace{
            print("   \(aName)")
        }
    }[output of script][1]

链接到日志的一部分... http://www.zonesight.com/stackImages/font.png