UITabBarItem外观正在抛出一个EXC_BAD_ACCESS

时间:2015-02-10 20:14:50

标签: ios objective-c iphone 64-bit

我有一大堆代码可以更改标签栏字距调整

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:2.0f, NSKernAttributeName, nil] forState:UIControlStateNormal];

在app委托中,当我为我的应用程序启用 64位支持时,它会抛出一个EXC_BAD_ACCESS。

1 个答案:

答案 0 :(得分:1)

您无法在NSDictionary(或其他集合类型)中存储原始值(int,float等)。

尝试将其包装成NSNumber(由简写语法@( )完成):

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:@(2.0f), NSKernAttributeName, nil] forState:UIControlStateNormal];

顺便说一下,你应该真正使用现代字典语法,它更具可读性:

NSDictionary *attributes = @{
    NSKernAttributeName: @(2.0f)
};
[[UITabBarItem appearance] setTitleTextAttributes:attributes];