1、概念
UIToolBar控件代表工具条,它继承了UIView,它通常仅作为多个UIBarButtonItem的容器,每个UIBarButtonItem代表工具条上的一个控件。
2、UIToolBar的配置属性
(1)barStyle:该属性指定工具条的风格。
(2)items:该属性值是一个NSArray对象,该NSArray 对象包含多个UIBarButtonItem对象,每个UIBarButtonItem对象代表工具条上的一个控件。
3、UIBarButtonItem
UIBarButtonItem指定的是工具条上的按钮,算是一种比较特殊的按钮,可以对其进行自定义,同时也有一些系统内置的样式供选择,它大致可以分为三种。
(1)Bar Button Item:工具条上的普通按钮。
(2)Fixed Space Bar Button Item : 工具条上固定宽度的空白间隔区域。用来在UIToolBar控件上分割普通的Bar Button Item用的,也就是占位用的。如果没有这个分割控件,普通的按钮会挤在一起,没有间距。
(3)Flexible Space Bar Button Item : 工具条上的可伸缩宽度的空白间隔区域。它也是用来在UIToolBar控件上分隔普通的Bar Button Item 用的,也就是占位用的。它与Fixed Space Bar Button Item不同的是,它会尽量将其两侧的按钮向两端(也就是远离自己的方向)挤,它占位多少取决于还有多少空隙决定。
4、UIToolBar的使用
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 100, 320, 44)];
toolBar.barStyle = UIBarStyleDefault;
[self.view addSubview:toolBar];
//创建UIButtonItem项
UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"左边" style:UIBarButtonItemStylePlain target:self action:@selector(leftAction)];
//创建一个可伸缩的占位UIBarButtonItem
UIBarButtonItem *space1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"中间" style:UIBarButtonItemStyleDone target:self action:@selector(centerAction)];
UIBarButtonItem *space2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithTitle:@"右边" style:UIBarButtonItemStylePlain target:self action:@selector(rightAction)];
toolBar.items = @[item1,space1,item2,space2,item3];
//使用自定义图片的UIBarButtonItem
UIToolbar *toolBar1 = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 150, 320, 44)];
[self.view addSubview:toolBar1];
UIBarButtonItem *item4 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_user"] style:UIBarButtonItemStylePlain target:self action:@selector(barClick1)];
UIBarButtonItem *space3 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *item5 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_msg"] style:UIBarButtonItemStylePlain target:self action:@selector(barClick1)];
UIBarButtonItem *space4 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *item6 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"lx_phone"] style:UIBarButtonItemStylePlain target:self action:@selector(barClick1)];
item6.tintColor = [UIColor redColor];
UIBarButtonItem *space5 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *item7 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"wz_serv3"] style:UIBarButtonItemStylePlain target:self action:@selector(barClick1)];
toolBar1.items = @[item4,space3,item5,space4,item6,space5,item7];
//使用系统图标的UIBarButtonItem
UIToolbar *toolBar3 = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 250, 320, 44)];
[self.view addSubview:toolBar3];
UIBarButtonItem *item11 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(barClick1)];
UIBarButtonItem *item12 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(barClick1)];
UIBarButtonItem *item13 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(barClick1)];
UIBarButtonItem *item14 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(barClick1)];
UIBarButtonItem *item15 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(barClick1)];
UIBarButtonItem *item16 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(barClick1)];
UIBarButtonItem *item17 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(barClick1)];
item17.tintColor = [UIColor redColor];
toolBar3.items = @[item11,item12,item13,item14,item15,item16,item17];