我有一大堆代码可以更改标签栏字距调整
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:2.0f, NSKernAttributeName, nil] forState:UIControlStateNormal];
在app委托中,当我为我的应用程序启用 64位支持时,它会抛出一个EXC_BAD_ACCESS。
答案 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];