将自定义字体添加到栏按钮项

时间:2015-03-30 21:19:25

标签: ios xcode fonts

我正在尝试将自定义字体添加到栏按钮项,但是我遇到了这个崩溃。

-[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]'
*** First throw call stack:

我很确定我已正确添加了字体,它位于我的info.plist中,自定义字体显示在IB中。

这就是我设置字体的方式:

 NSDictionary *barButtonAppearanceDict = @{NSFontAttributeName : [UIFont fontWithName:@"OpenSans-Regular" size:12.0], NSForegroundColorAttributeName: [UIColor whiteColor]};
    [[UIBarButtonItem appearance]setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateNormal];

为什么我收到此错误的任何想法?

这就是我添加字体的方式。

enter image description here

enter image description here enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

要向您的应用程序添加自定义字体,这是一个有用的指南:

http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/

您可以使用本教程仔细检查自定义字体。

无论您使用哪种方法添加自定义字体,请运行以下代码以检查应用中加载的字体名称。它将列出您应用中可用的所有字体。

for (NSString* family in [UIFont familyNames])
{
    NSLog(@"%@", family);

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

然后,您可以获取系统中字体的名称。

我不知道你如何添加你的自定义字体,但一般来说,加载的常规字体没有普通的后缀。

所以,替换

NSDictionary *barButtonAppearanceDict = @{NSFontAttributeName : [UIFont fontWithName:@"OpenSans-Regular" size:12.0], NSForegroundColorAttributeName: [UIColor whiteColor]};

NSDictionary *barButtonAppearanceDict = @{NSFontAttributeName : [UIFont fontWithName:@"OpenSans" size:12.0], NSForegroundColorAttributeName: [UIColor whiteColor]};