UITabBarItem 外观正在抛出 EXC_BAD_ACCESS
UITabBarItem appearance is throwing a EXC_BAD_ACCESS
我有这段代码可以更改标签栏字距调整
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:2.0f, NSKernAttributeName, nil] forState:UIControlStateNormal];
在应用程序委托中,当我为我的应用程序启用 64 位 支持时,它会抛出 EXC_BAD_ACCESS。
您不能在 NSDictionary
(或其他集合类型)中存储原始值(int、float 等)。
尝试将其包装成 NSNumber
(这是通过简写语法 @( )
完成的):
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:@(2.0f), NSKernAttributeName, nil] forState:UIControlStateNormal];
而且,顺便说一句,你真的应该使用现代字典语法,它更具可读性:
NSDictionary *attributes = @{
NSKernAttributeName: @(2.0f)
};
[[UITabBarItem appearance] setTitleTextAttributes:attributes];
我有这段代码可以更改标签栏字距调整
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:2.0f, NSKernAttributeName, nil] forState:UIControlStateNormal];
在应用程序委托中,当我为我的应用程序启用 64 位 支持时,它会抛出 EXC_BAD_ACCESS。
您不能在 NSDictionary
(或其他集合类型)中存储原始值(int、float 等)。
尝试将其包装成 NSNumber
(这是通过简写语法 @( )
完成的):
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:@(2.0f), NSKernAttributeName, nil] forState:UIControlStateNormal];
而且,顺便说一句,你真的应该使用现代字典语法,它更具可读性:
NSDictionary *attributes = @{
NSKernAttributeName: @(2.0f)
};
[[UITabBarItem appearance] setTitleTextAttributes:attributes];