-4

所以我有一个 Tab ViewController ---> Navigation ViewController -----> abc view Controller 。现在我想自定义 Abc View Controller Unique 上的导航栏。

所以我在 (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 的 App Delegate.m 中写这个

UIImage *special = [UIImage imageNamed:@"iphone-heading-select-timezone.png"];

[UINavigationBar appearanceWhenContainedIn:[abcViewController class], nil] setBackgroundImage:special forBarMetrics:UIBarMetricsDefault];

但它现在不工作。但它在 6 个月前在另一个应用程序中工作。如果我错过了什么或任何建议,请告诉我。谢谢

4

1 回答 1

0

我认为您不能以这种方式自定义它,因为导航栏包含在 中UINavigationController,而不是您的abcViewController. 尝试将此代码放入-[abcViewController viewWillAppear:]

UIImage *special = [UIImage imageNamed:@"iphone-heading-select-timezone.png"];
[self.navigationController.navigationBar setBackgroundImage:special forBarMetrics:UIBarMetricsDefault];

这在-viewWillDisappear:

[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
于 2013-05-29T00:29:53.187 回答