[IOS学习笔记] UINavigationController Demo
//AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window.backgroundColor=[UIColor whiteColor]; RootViewController *rootView=[[RootViewController alloc]init]; UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:rootView]; [_window setRootViewController:nav]; [nav release]; [rootView release]; return YES; }
//RootViewController.m - (void)viewDidLoad { // Do any additional setup after loading the view. [super viewDidLoad]; // Do any additional setup after loading the view. [self.navigationController.navigationBar setTranslucent:NO];//设置navigationbar的半透明 self.title = @"RootViewController";//设置navigationbar上显示的标题 [self.navigationController.navigationBar setBarTintColor:[UIColor purpleColor]];//设置navigationbar的颜色 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonItemStyleDone target:self action:Nil];//设置navigationbar左边按钮 self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonItemStylePlain target:self action:Nil];//设置navigationbar右边按钮 [self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];//设置navigationbar上左右按钮字体颜色 //self.navigationItem.rightBarButtonItem setTarget:<#(id)#> //动态添加一个按钮 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; button.frame = CGRectMake(0, 300, 300, 50); [button setTitle:@"新添加的动态按钮" forState: UIControlStateNormal]; button.backgroundColor = [UIColor clearColor]; button.tag = 2000; [button addTarget:self action:@selector(clicked:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:button]; } - (void)clicked:(id) sender{ SecondViewController *second = [[SecondViewController alloc]init]; [self.navigationController pushViewController:second animated:YES]; //second.str = @"hello!!"; [second release]; } //这个是新按钮的响应函数 -(IBAction) buttonClicked:(id)sender { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"单击了动态按钮!" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil]; [alert show]; [alert release]; }
UINavigationController 导航页
设置根界面:
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:rootView];
按钮响应:
[button addTarget:self action:@selector(clicked:) forControlEvents:UIControlEventTouchUpInside];
响应方法签名:- (void)clicked:(id) sender