苹果没有桌面系统上传统的工具栏,就是在窗口的顶部放一堆图标的东西,由于应用程序的每一幅画面都被看成是书中的一页。
在创建导航安全导航控制器之前,你应该创建了一个至少一个视图器,并将指向顶层视图的指针传给导航控制器进行初始化;这个顶层视图,也就是应用程序的根视图。
UIViewController*mainVC=[[UIViewControlleralloc]init];
mainVC.view.backgroundColor=[UIColorredColor];
UINavigationController*nav=[[UINavigationControlleralloc]initWithRootViewController:mainVC];
mainVC.title=@"Hello world!";
当一个新视图被推入导航栏控制器的栈中时,新视图就会显示出来,知道用户按下回退按钮,或者导航栏切换到别处。要将一个视图推入导航栏,可以使用pushViewController,常用来响应按钮点击事件。
[btnsetTitle:@"123"forState:UIControlStateNormal];
btn.frame=CGRectMake(100,0,300,300);
btn.backgroundColor=[UIColorblueColor];
[btnaddTarget:selfaction:@selector(click)forControlEvents:UIControlEventAllEvents];
[mainVC.viewaddSubview:btn];
-(void)click
{NSLog(@"push");
[_navpushViewController:_vcanimated:YES];
}
导航栏控制器类可以容纳自身的导航栏属性,可以为每个视图控制器都定义一个不同的导航栏布局,一个导航栏中任何可见物,都是UINavigationItem 对象的一部分。如果该视图控制器不是栈的根部,这个标题可以用来确定返回键的标题。
self.title=@"Index";
添加左右按钮,只有在控制器不是根控制器时。
UIBarButtonItem*btn=[[UIBarButtonItemalloc]initWithTitle:@"Index"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(click)];
self.navigationItem.leftBarButtonItem=btn;
添加分段控件
UISegmentedControl*se=[[UISegmentedControlalloc]initWithItems:nil];
[seinsertSegmentWithTitle:@"all"atIndex:0animated:NO];
[seinsertSegmentWithTitle:@"Miss"atIndex:1animated:NO];