我正在尝试将自定义字体添加到栏按钮项,但是我遇到了这个崩溃。
-[__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];
为什么我收到此错误的任何想法?
这就是我添加字体的方式。
答案 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]};