0

我正在尝试自定义标签栏,并使用以下代码更改背景。

UIImage *TabBarControllerBackground = [UIImage imageNamed:@"ios7TabBarBackground"];
[[UITabBar appearance] setBackgroundImage:TabBarControllerBackground forBarMetrics:UIBarMetricsDefault];

我收到以下错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[_UIAppearance setBackgroundImage:forBarMetrics:]:无法识别的选择器发送到实例 0x1e868a80”

为什么是这样?它非常适合像这样更改我的导航栏。

4

1 回答 1

1

让我们仔细看看这个错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_UIAppearance setBackgroundImage:forBarMetrics:]: unrecognized selector sent to instance 0x1e868a80'

它告诉你的是 UIAppearance 没有实现setBackgroundImage:forBarMetrics:选择器。

您需要删除最后一个参数 - 显然 UIAppearance 不喜欢它。把它变成这样:

[[UITabBar appearance] setBackgroundImage:TabBarControllerBackground];
于 2013-06-20T21:48:09.023 回答