我正在尝试更改所有应用程序的导航栏按钮的背景图像。我想它必须在 appDelegate 中完成。
非常感谢
您可以为此使用外观代理。只需将其添加到您的 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 场会议
如果你的目标是 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];
}