iphone开发之自定义导航
2012-11-03 12:21
330 查看
AppDelegate.h
AppDelegate.m
#import <UIKit/UIKit.h> #import "CategoryViewController.h" #import "PlayViewController.h" #import "TimerViewController.h" #import "AboutUsViewController.h" @interface AppDelegate : UIResponder <UIApplicationDelegate> { UIWindow *window; //button declare UIButton *btn1; UIButton *btn2; UIButton *btn3; UIButton *btn4; //nav UINavigationController *nav1; UINavigationController *nav2; UINavigationController *nav3; UINavigationController *nav4; //4 define uiviewcontroller CategoryViewController *categoryView; PlayViewController *playView; TimerViewController *timerView; AboutUsViewController *aboutUsView; UIView *viewToolBar; UIView *v; } @property (strong, nonatomic) UIWindow *window; @end
AppDelegate.m
#import "AppDelegate.h" @implementation AppDelegate @synthesize window = _window; - (void)dealloc { [_window release]; [super dealloc]; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. //self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease]; //self.window.rootViewController = self.viewController; v = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)]; v.backgroundColor = [UIColor clearColor]; [self.window addSubview:v]; [v release]; categoryView = [[CategoryViewController alloc]init]; categoryView.view.frame = CGRectMake(0, 0, 320, 436); nav1 = [[UINavigationController alloc]initWithRootViewController:categoryView]; [v addSubview:nav1.view]; viewToolBar = [[UIView alloc]initWithFrame:CGRectMake(0, 418, 320, 47)]; viewToolBar.backgroundColor = [UIColor clearColor]; [_window addSubview:viewToolBar]; [viewToolBar release]; UIImageView *viewToolBarImg = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 47)]; viewToolBarImg.image = [UIImage imageNamed:@"首页_按钮底图.png"]; [viewToolBar addSubview:viewToolBarImg]; [viewToolBarImg release]; //category view btn1 = [UIButton buttonWithType:UIButtonTypeCustom]; btn1.frame = CGRectMake(30, 5, 51, 37); btn1.tag =1; [btn1 setAdjustsImageWhenDisabled:YES]; [btn1 setBackgroundImage:[UIImage imageNamed:@"目录.png"] forState:UIControlStateNormal]; [btn1 addTarget:self action:@selector(categoryAction) forControlEvents:UIControlEventTouchDown]; [viewToolBar addSubview:btn1]; //play view btn2 = [UIButton buttonWithType:UIButtonTypeCustom]; btn2.frame = CGRectMake(94, 5, 51, 37); btn2.tag =2; [btn2 setAdjustsImageWhenDisabled:YES]; [btn2 setBackgroundImage:[UIImage imageNamed:@"播放.png"] forState:UIControlStateNormal]; [btn2 addTarget:self action:@selector(playAction) forControlEvents:UIControlEventTouchDown]; [viewToolBar addSubview:btn2]; //timer btn3 = [UIButton buttonWithType:UIButtonTypeCustom]; btn3.frame = CGRectMake(161, 5, 51, 37); btn3.tag =3; [btn3 setAdjustsImageWhenDisabled:YES]; [btn3 setBackgroundImage:[UIImage imageNamed:@"定时.png"] forState:UIControlStateNormal]; [btn3 addTarget:self action:@selector(timerAction) forControlEvents:UIControlEventTouchDown]; [viewToolBar addSubview:btn3]; //aboutus btn4 = [UIButton buttonWithType:UIButtonTypeCustom]; btn4.frame = CGRectMake(228, 5, 51, 37); btn4.tag =4; [btn4 setAdjustsImageWhenDisabled:YES]; [btn4 setBackgroundImage:[UIImage imageNamed:@"关于.png"] forState:UIControlStateNormal]; [btn4 addTarget:self action:@selector(aboutusAction) forControlEvents:UIControlEventTouchDown]; [viewToolBar addSubview:btn4]; [self.window makeKeyAndVisible]; return YES; } #pragma mark ----------category action method ----------------- -(void)categoryAction{ NSLog(@"categoryAction"); [btn1 setBackgroundImage:[UIImage imageNamed:@"目录.png"] forState:UIControlStateNormal];//选择的效果 [btn2 setBackgroundImage:[UIImage imageNamed:@"播放.png"] forState:UIControlStateNormal];//未选择的效果 [btn3 setBackgroundImage:[UIImage imageNamed:@"定时.png"] forState:UIControlStateNormal];//未选择的效果 [btn4 setBackgroundImage:[UIImage imageNamed:@"关于.png"] forState:UIControlStateNormal];//未选择的效果 if ((nav1.view.hidden =YES)) { // nav1.view.hidden = NO; nav2.view.hidden = YES; nav3.view.hidden = YES; nav4.view.hidden = YES; } } #pragma mark ----------playAction method ----------------- -(void)playAction{ NSLog(@"playAction"); if (playView == nil) { // playView = [[PlayViewController alloc]init]; playView.view.frame = CGRectMake(0, 0, 320, 436); nav2 = [[UINavigationController alloc]initWithRootViewController:playView]; [v addSubview:nav2.view]; } [btn1 setBackgroundImage:[UIImage imageNamed:@"目录.png"] forState:UIControlStateNormal];//未选择的效果 [btn2 setBackgroundImage:[UIImage imageNamed:@"播放.png"] forState:UIControlStateNormal];//选择的效果 [btn3 setBackgroundImage:[UIImage imageNamed:@"定时.png"] forState:UIControlStateNormal];//未选择的效果 [btn4 setBackgroundImage:[UIImage imageNamed:@"关于.png"] forState:UIControlStateNormal];//未选择的效果 if ((nav2.view.hidden =YES)) { // nav2.view.hidden = NO; nav1.view.hidden = YES; nav3.view.hidden = YES; nav4.view.hidden = YES; } } #pragma mark ----------timerAction method ----------------- -(void)timerAction{ NSLog(@"timerAction"); if (timerView == nil) { // timerView = [[TimerViewController alloc]init]; timerView.view.frame = CGRectMake(0, 0, 320, 436); nav3 = [[UINavigationController alloc]initWithRootViewController:timerView]; [v addSubview:nav3.view]; } [btn1 setBackgroundImage:[UIImage imageNamed:@"目录.png"] forState:UIControlStateNormal];//未选择的效果 [btn2 setBackgroundImage:[UIImage imageNamed:@"播放.png"] forState:UIControlStateNormal];//未选择的效果 [btn3 setBackgroundImage:[UIImage imageNamed:@"定时.png"] forState:UIControlStateNormal];//选择的效果 [btn4 setBackgroundImage:[UIImage imageNamed:@"关于.png"] forState:UIControlStateNormal];//未选择的效果 if ((nav3.view.hidden =YES)) { // nav3.view.hidden = NO; nav1.view.hidden = YES; nav2.view.hidden = YES; nav4.view.hidden = YES; } } #pragma mark ----------aboutusAction method ----------------- -(void)aboutusAction{ NSLog(@"aboutusAction"); if (aboutUsView == nil) { // aboutUsView = [[AboutUsViewController alloc]init]; aboutUsView.view.frame = CGRectMake(0, 0, 320, 436); nav4 = [[UINavigationController alloc]initWithRootViewController:aboutUsView]; [v addSubview:nav4.view]; } [btn1 setBackgroundImage:[UIImage imageNamed:@"目录.png"] forState:UIControlStateNormal];//未选择的效果 [btn2 setBackgroundImage:[UIImage imageNamed:@"播放.png"] forState:UIControlStateNormal];//未选择的效果 [btn3 setBackgroundImage:[UIImage imageNamed:@"定时.png"] forState:UIControlStateNormal];//未选择的效果 [btn4 setBackgroundImage:[UIImage imageNamed:@"关于.png"] forState:UIControlStateNormal];//选择的效果 if ((nav4.view.hidden =YES)) { // nav4.view.hidden = NO; nav1.view.hidden = YES; nav2.view.hidden = YES; nav3.view.hidden = YES; } } - (void)applicationWillResignActive:(UIApplication *)application { /* Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. */ } - (void)applicationDidEnterBackground:(UIApplication *)application { /* Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. */ } - (void)applicationWillEnterForeground:(UIApplication *)application { /* Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. */ } - (void)applicationDidBecomeActive:(UIApplication *)application { /* Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. */ } - (void)applicationWillTerminate:(UIApplication *)application { /* Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. */ } @end
相关文章推荐
- IPHONE实景导航开发总结
- iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决
- iPhone软件开发之自定义表格Cell 初步
- iPhone开发学习笔记004——自定义背景透明非全屏弹出窗口,子类化UIWindow
- 【Android】安卓开发实战之自定义仿iPhone导航条组件
- iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view
- Eclipse rcp 开发 : 自定义导航视图CNF(1)
- iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决
- iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决
- IOS开发中如何自定义导航栏的按钮,文字和背景图片
- [iphone开发私房菜_4_] iphone开发中的导航,页面切换全面指南
- iPhone开发笔记 退回输入键盘:自定义颜色:隐藏状态栏:
- Iphone开发基础教程 (9章 导航控制器和表视图)--读书笔记
- Eclipse rcp 开发 : 自定义导航视图CNF(3)为导航视图增加隐藏文件功能
- iPhone开发——通过代码自定义cell实现qq聊天界面
- iPhone开发学习笔记005——使用XIB自定义一个UIView,然后将这个view添加到controller的view
- iphone开发之自定义UIControl对象的视图 UISwitch的字体和颜色
- 【iOS开发-24】导航控制器下不同视图控制器之间切换:利用CATrasition和view的layer层来实现自定义的动画效果
- iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决
- iOS开发导航控制器下不同视图控制器之间切换:利用CATrasition和view的layer层来实现自定义的动画效果