2

我正在尝试更改所有应用程序的导航栏按钮的背景图像。我想它必须在 appDelegate 中完成。

非常感谢

4

2 回答 2

3

您可以为此使用外观代理。只需将其添加到您的 appDelegate

- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    //...
    UIImage *myImage = [UIImage imageNamed:@"barButtonItemBackground.png"];
    [[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setBackgroundImage:myImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
    return YES;
}

有关更多详细信息,请查看 WWDC 2011 的第 114 场会议

于 2012-05-07T10:53:16.183 回答
1

如果你的目标是 iOS 5,你可以把这段代码放在你的 AppDelegate 中:

float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 5.0)
{
    // iPhone 5.0 code here
    UIImage *image = [UIImage imageNamed: @"image.png"];
    [[UIBarButtonItem appearance] setBackButtonBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

}
于 2012-05-07T10:52:20.170 回答