自定义UINavgationBar 方法二(原创)

CustomNavController.h

 

//  Created by suruiqiang on 8/3/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//
#pragma once
#import <UIKit/UIKit.h>
@interface UINavigationBar (UINavigationBarCategory) 
UIImageView *bg;
-(UINavigationBar*)setBackgroundImage:(UIImage*)image;
- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index;
@end


CustomNavController.m

 

 

 

#import "CustomerNavBarController.h"


@implementation UINavigationBar (UINavigationBarCategory)
-(UINavigationBar*)setBackgroundImage:(UIImage*)image
{
	UINavigationBar *NavBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
    if(image == nil) return NavBar;
    bg = [[UIImageView alloc]initWithImage:image];
    bg.frame = CGRectMake(0.f, 0.f, self.frame.size.width, self.frame.size.height);
    [NavBar addSubview:bg];
    [NavBar sendSubviewToBack:bg];
    [bg release];
	return NavBar;
}

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index
{
    [super insertSubview:view atIndex:index];
    [self sendSubviewToBack:bg];
}
@end

 

 

 

 

 在需要调用的地方添加如下代码:

 

- (void)viewDidLoad {
    [super viewDidLoad];
   [[self.navigationController navigationBar] setBackgroundImage:[UIImage imageNamed:@"NavigationBarBackground.png"]];

//在下面添加你自己的功能代码
***********
}

 

posted @ 2010-10-18 23:32  苏瑞强  阅读(1615)  评论(0编辑  收藏  举报