我正在iOS 6下自定义iOS应用的UINavigationBar
。因此,我使用setTitleTextAttributes
来执行此操作。
然而具体设置
NSDictionary *attribute = @{UITextAttributeFont : [UIFont fontWithName:@"Bernard MT Condensed" size:21.0]};
导致应用在设备上崩溃,但模拟器中的不是,但有以下异常:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]:
attempt to insert nil object from objects[0]'
我发现这个question似乎是同一类型,但我的设备和我的模拟器都设置为完全相同的区域设置(语言,地区格式)。
值得注意的一点是,两个环境中的区域设置都设置为美式英语,但我使用丹麦语特殊字符显示丹麦语区域格式的文本,但是 在模拟器,如上所述。
答案 0 :(得分:3)
您使用的字体是自定义字体,需要将字体文件添加到应用程序的资源以及Info.plist中的条目。
文件名案例在真实设备上很重要,但在模拟器上却不重要。您需要确保Info.plist中的条目与实际字体文件的真实文件名(包括大小写)匹配。
那些认为使用模拟器的人注意就足够了 - 这是在真实设备上进行测试至关重要的众多原因之一。