2012-05-23 192 views
1

我嘗試更改爲導航欄的背景。如何更改導航欄背景

Search.h:

#import <UIKit/UIKit.h> 

@interface Search : UIViewController 

@end 

Search.m:

#import "Search.h" 

@implementation Search 

- (void)viewDidLoad 
{ 

[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 

UIImage *image = [UIImage imageNamed:@"navigation_header.png"]; 

[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault]; 

} 

我不能改變導航的背景。

謝謝。

回答

4

這實際上比你想象的要簡單。在你的應用程序代表...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"NavBar.png"] forBarMetrics:UIBarMetricsDefault]; 
    return YES; 
} 

這將普遍改變你的導航欄背景圖像。

注意:我相信UINavigationBar's「外觀」屬性可用於iOS 5及更高版本。

2

viewController.h

IBOutlet UINavigationBar *navBar; 

viewController.m //用於彩色

- (void)viewDidLoad{ 
[super viewDidLoad]; 
[navBar setTintColor:[UIColor colorWithRed:0.0/255.0 green:100.0/255.0 blue:20.0/255.0 alpha:1.0]]; 
} 

//用於圖像

UIImage *image = [UIImage imageNamed:@"navigation_header.png"]; 
[self.navigationController.navBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault]; 
+0

在'UINavigationController *'類型的對象上找不到屬性'navBar' –

+0

使用此self.navigationController.navigationBar –

+0

現在沒有錯誤,但背景不變。 –

0
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
    self.viewController = [[[Search alloc] initWithNibName:@"Search" bundle:nil] autorelease]; 
    navControl = [[UINavigationController alloc] initWithRootViewController:self.viewController]; 
[self.window addSubview:[navControl view]]; 
[self.window makeKeyAndVisible]; 

}

在AppDelegate.m中編寫此方法。我認爲這對你會有所幫助。

相關問題