NavigationBar的使用
1.//通过导航控制器的setNavigationBarHidden方法隐藏导航条
[self.navigationControllersetNavigationBarHidden:YES];
2.//导航控制器中的导航条尺寸固定(320*44)
3.//拿到导航条的方法
//self.navigationController.navigationBar
4.//设置导航条的风格(黑色风格,默认为Defautl风格,iOS7以后,余下的三个样式几乎没有差别),设置导航条的风格样式会波及到状态栏
//iOS7以前,设置导航条的样式不会影响状态栏
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
5.//开发中应用做多的(设置导航条的背景图片)
//UIBarMetricsDefault 对应iPhone竖屏(人像模式)
//UIBarMetricsLandscapePhone 对应iPhone横屏(风景模式)
6. //图片尺寸严格为(320*44、640*88视网膜屏)//图片严格遵守320*44的尺寸,贴图不会波及到状态栏,而且状态栏会自动呈现出最初的样式
[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"navigationbar"] forBarMetrics:UIBarMetricsDefault];
//横屏导航栏的尺寸(480*32)(风景模式)
[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"nav-32"] forBarMetrics:UIBarMetricsLandscapePhone];
UINavigationItem(用于定制导航条上内容的显示)
1.//通过navigationItem设置导航条上显示的标题
self.navigationItem.title = @"root";
2.//设置导航条上显示的标题视图
将导航条的titleView设置成一个view
self.navigationItem.titleView = titleView;
3.UIBarButtonItem的对象有多种创建方式
// //通过初始化标题的方法
// //UIBarButtonItemStylePlain (iOS7中将Item的圆角矩形和边框全部去掉了)
// //UIBarButtonItemStylePlain (iOS7中将Item的圆角矩形和边框全部去掉了)
4.//// //显示在导航条的左侧
self.navigationItem.leftBarButtonItem = item;
5.// //用系统提供的样式初始化得到UIBarButtonItem的对象
UIBarButtonItem *item1 = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCameratarget:selfaction:@selector(rightItemClicked:)];
6.// //开发中最常用的创建UIBarButtonItem的方法 initWithCustomView(接收UIView)最常用的接收一个UIButton(custom样式,贴图)
UIButton *customBtn = [UIButtonbuttonWithType:UIButtonTypeCustom];
[customBtn setFrame:CGRectMake(0, 0,30,30)];
[customBtn setBackgroundImage:[UIImageimageNamed:@"itemImage"] forState:UIControlStateNormal];
[customBtn addTarget:self action:@selector(custombtnClicked)
forControlEvents:UIControlEventTouchUpInside];
//上边是创建一个自定义的按钮 下边这一句是将创建的button作为customView赋值给barbuttonitem
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithCustomView:customBtn];
7.// //会在导航条上从右到左显示
NSArray *array = [NSArray arrayWithObjects:item1,item2,nil];
[item1 release];
[item2 release];
// //rightBarButtonItems 数组 设置一组UIBarButtonItem的显示,数组的元素必须是UIBarButtonItem的对象
self.navigationItem.rightBarButtonItems = array;
8.判断一个类中是否有某个方法
//判断_delegate中是否支持sendTitle:方法
if ([类 respondsToSelector:@selector(sendTitle:)])
toolbar(工具栏)
1.//每个导航控制器都有一个工具栏,是一个UIToolBar的对象,显示在最底部,尺寸(320*44),工具栏默认处于隐藏状态
//显示工具栏
[self.navigationControllersetToolbarHidden:NO];
2. //UIToolbarPositionBottom 理解(每个UIView都可以指定TopBar 和BottomBar),导航控制器中工具栏是作为导航控制器view的BottomBar被自动创建出来的
[self.navigationController.toolbarsetBackgroundImage:[UIImageimageNamed:@"toolBar.png"] forToolbarPosition:UIToolbarPositionBottombarMetrics:UIBarMetricsDefault];
3. UIBarButtonItem *item1 = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAddtarget:selfaction:@selector(itemClicked)];
UIBarButtonItem *item2 = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdittarget:selfaction:@selector(itemClicked)];
//UIBarButtonSystemItemFlexibleSpace (创建出来的为看不见的间隔按钮,间隔的数值会根据设定自动计算出来,等距的间隔)
UIBarButtonItem *space = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpacetarget:selfaction:@selector(itemClicked)];
NSArray *array = [NSArray arrayWithObjects:space,item1,space,item2,space,nil];
[item1 release];
[item2 release];
[space release];
self.toolbarItems = array;
//开发中,底部工具栏往往自己通过UIView+UIButton定制