iOS:UIToolBar、toolbarItems、BarButtonItem的几种关系

工具栏:ToolBar

工具栏项目:Bar Button Item
调节按钮位置的固定调节:Fixed Space Bar Button Item
调节按钮位置的灵活调节:Flexible Space Bar Button
 
ToolBar工具栏是视图View的属性,可以在工具栏上添加工具栏按钮Bar Button Item(可以是自定义的Custom、也可以是系统自带的BarButtonSystemItem ),视图控制器可以通过工具栏项对视图中内容进行操作。
 
按钮Bar Button Item有三种Style:Plain(可使用自定义图片),Boarded和Done。其他属性则望文生义即可。要使按钮不可用,更改Enable属性即可。而Tool Bar也可以做一些调整(主要也是调整style)。需要注意的是,Plain类型的按钮是没有title的,即为Null。
 
要说明的是,Fixed Space Bar Button Item是固定的(也可调)间距,而Flexible Space Bar Button Item则会自动调整现有按钮使最大限度占据工具栏的所有空间。
 
重点是:我们可以利用toolbarItems来设置工具栏上的按钮,一般APP下面看到有3-4个选项比如“首页”、“设置”这些都可以作为UIBarButtonItem对象被加载到这个工具栏上,当然,从toolbarItems名字看出来,它有个“s”,所以我们得单独的把UIBarButtonItem对象装到一个数组中,然后把这个数组赋值给toolbarItems。或者用setToolbarItems方法将所有的工具项添加到工具栏上,即最后将toolbaritems添加到toolbar工具栏中。
 
例如:通过toolbaritems来设置工具栏的显示项,数组中是UIBarButtonItem的实例
//barButtonitem实例
UIBarButtonItem *item1 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd   target:self action:nil];
UIBarButtonItem *item2 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks  target:self action:nil];
//item的间隔,不会显示出来,会自动计算间隔,就是上面的调节
UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace     target:self action:nil];
//将工具栏项目:barButtonItem和调节实例放入数组中
NSArray *arr1=[[NSArray alloc]initWithObject:item1,spaceItem,item2,spaceItem,nil];
//通过toolbarItems属性将按钮放入到工具栏上
self.toolbarItems = arr;
或者通过setToolbarItems方法将按钮放入到工具栏上
[self setToolbarItems:arr]; 

 

posted on 2015-10-27 23:21  ProgramBear  阅读(2053)  评论(0编辑  收藏  举报

导航