您的位置:首页 > 移动开发 > IOS开发

IOS--导航栏

2015-10-28 21:45 453 查看
#import <UIKit/UIKit.h>

#import "MyViewController.h"

@interface AppDelegate :
UIResponder <UIApplicationDelegate>

@property (strong,
nonatomic) UIWindow *window;

@property (strong,
nonatomic) UINavigationController *navController;

@property (strong,
nonatomic) UIViewController *viewController;

@end

#import "AppDelegate.h"

@implementation AppDelegate

@synthesize window =
_window;
@synthesize navController;
@synthesize viewController;

- (void)dealloc
{
[_window
release];
[super
dealloc];
}

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

self.window = [[[UIWindow
alloc] initWithFrame:[[UIScreen
mainScreen] bounds]]
autorelease];

self.window.backgroundColor = [UIColor
whiteColor];

self.viewController = [[[MyViewController
alloc]init]autorelease];

self.navController = [[UINavigationController
alloc] initWithRootViewController:self.viewController];

[self.window
addSubview:navController.view];

[self.window
makeKeyAndVisible];

return
YES;
}

@end

#import <UIKit/UIKit.h>

@interface MyViewController :
UIViewController

@end

#import "MyViewController.h"

@implementation MyViewController

- (void)viewDidLoad
{

[super
viewDidLoad];

//设置导航栏背景图片

[self.navigationController.navigationBar
setBackgroundImage:[UIImage
imageNamed:@"nav-bar.png"]
forBarMetrics:UIBarMetricsDefault];

//导航栏正中央图片

UIImage * titleImage = [UIImage
imageNamed:@"nav-logo.png"];

UIImageView * titleview = [[UIImageView
alloc]initWithImage:titleImage];

//加在导航栏中

self.navigationItem.titleView =titleview;

//绘制导航栏右侧的图片按钮

UIImage *rightButtonImage = [UIImage
imageNamed:@"nav-bar-button.png"];

UIImage *rightbuttonNormal = [rightButtonImage

stretchableImageWithLeftCapWidth:10
topCapHeight:10];

//设置按钮类型为自定义

UIButton *rightButton = [UIButton
buttonWithType:UIButtonTypeCustom];

//设置按钮的显示区域
[rightButton
setFrame: CGRectMake(0,
0, 50,
40)];

//设置按钮的背景显示图

[rightButton setBackgroundImage:rightbuttonNormal
forState:UIControlStateNormal];

//设置按钮的前景显示图

[rightButton setImage:[UIImage
imageNamed:@"nav-friends-icon.png"]
forState:UIControlStateNormal];

[rightButton setImage:[UIImage
imageNamed:@"nav-friends-icon.png"]
forState:UIControlStateHighlighted];

//监听点击事件

[rightButton addTarget:self
action:@selector(RightDown)
forControlEvents:UIControlEventTouchDown];

//加载导航栏中

self.navigationItem.rightBarButtonItem = [[UIBarButtonItem
alloc]initWithCustomView:rightButton];

//含义和上面类似就不详解了

//绘制导航栏左侧的图片按钮

UIImage *leftButtonImage = [UIImage
imageNamed:@"nav-bar-button.png"];

UIImage *leftbuttonNormal = [leftButtonImage

stretchableImageWithLeftCapWidth:10
topCapHeight:10];

UIButton *leftButton = [UIButton
buttonWithType:UIButtonTypeCustom];

[leftButton
setFrame: CGRectMake(0,
0, 50,
40)];

[leftButton setBackgroundImage:leftbuttonNormal
forState:UIControlStateNormal];

[leftButton setImage:[UIImage
imageNamed:@"nav-menu-icon.png"]
forState:UIControlStateNormal];

[leftButton setImage:[UIImage
imageNamed:@"nav-menu-icon.png"]
forState:UIControlStateHighlighted];

[leftButton addTarget:self
action:@selector(leftDown)
forControlEvents:UIControlEventTouchDown];

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem
alloc]initWithCustomView:leftButton];

}

-(void) leftDown
{

NSLog(@"左边按钮");
}

-(void) RightDown
{

NSLog(@"右边按钮");
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: