如何在IOS5中自定义UINavigationBar

时间:2012-01-05 00:39:31

标签: ios ios5 uinavigationbar customization

在IOS5中,我还不知道如何自定义UINavigationBar。

我的代码是这样的:

    [[UINavigationBar appearance] setBackgroundColor:[UIColor colorWithWhite:0.5f alpha:1.0]];

    [[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor blackColor],UITextAttributeTextColor 
,[UIColor blackColor], UITextAttributeTextShadowColor 
,[NSValue valueWithUIOffset:UIOffsetMake(0, 0)], UITextAttributeTextShadowOffset
,[UIFont fontWithName:@"Arial" size:20.0],UITextAttributeFont 
, nil]];


    // Customize UIBarButtonItems
 UIImage *gradientImage44 = [[UIImage imageNamed: @"title__bg.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];       

[[UINavigationBar appearance] setBackgroundImage:gradientImage44 forBarMetrics:UIBarMetricsDefault];

    [[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor
,[UIColor whiteColor], UITextAttributeTextShadowColor 
,[NSValue valueWithUIOffset:UIOffsetMake(0, 0)], UITextAttributeTextShadowOffset
,[UIFont fontWithName:@"Arial" size:14.0],UITextAttributeFont
, nil] forState:UIControlStateNormal];

    // Customize back button items differently
    UIImage *buttonBack30 = [[UIImage imageNamed:@"bn_back"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 13, 0, 5)];

    [[UIBarButtonItem appearance] setBackButtonBackgroundImage:buttonBack30 forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

这张照片是PopoverView中使用的UINavigationViewController。 enter image description here

这张照片是由Modal开放的UINavigationViewController。 enter image description here

如您所见,我设置了背景图像,但是NavigationBar的边框不同。

这是关于PopoverView的问题吗?

我不知道我错过了什么。

请告诉我你的建议。谢谢!!!新年快乐!!!

2 个答案:

答案 0 :(得分:1)

转到AppDelegate.m并粘贴

下的代码
- (BOOL)application:(UIApplication *)application 
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

将状态栏设置为黑色。

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque 
                                            animated:NO];

将@“menubar.png”更改为图像的文件名。

 UIImage *navBar = [UIImage imageNamed:@"menubar.png"];

[[UINavigationBar appearance] setBackgroundImage:navBar 
                                   forBarMetrics:UIBarMetricsDefault];

答案 1 :(得分:-4)