toolbar上添加UIBarButtonItem,排版item的技巧。
UIBarButtonSystemItemFlexibleSpace,严格说它不是一个合格的bar按钮,而是一个可以自由缩放的区域,类似于弹簧,其他地方被占满了它就缩小一些,没占满它就大一些。它用来排版我们这些UIBarButtonItem,有两个UIBarButtonItem时,我们在他们中间增加一个UIBarButtonSystemItemFlexibleSpace,这样就会显示最左边 ,最右边 各一个按钮。。有三个UIBarButtonItem时,我们在他们每两个中间增加一个UIBarButtonSystemItemFlexibleSpace,这样就会显示最左边 ,中间,最右边 各一个按钮。
//定义一个toolBar
UIToolbar
* toolbar = [[UIToolbaralloc]initWithFrame:CGRectMake(0,0, self.view.frame.size.width,40)];
//设置style
[toolbar setBarStyle:UIBarStyleBlackTranslucent];
//toolbar.backgroundColor = [UIColor redColor];
//定义两个flexibleSpace的button,放在toolBar上,这样完成按钮就会在最右边
UIBarButtonItem
* button1 =[[UIBarButtonItem alloc]initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target:selfaction:nil];
UIBarButtonItem
* button2 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target:selfaction:nil];
//定义完成按钮
UIBarButtonItem
* doneButton = [[UIBarButtonItemalloc]initWithTitle:@"完成"style:UIBarButtonItemStyleDonetarget:selfaction:@selector(resignKeyboard)];
//在toolBar上加上这些按钮
NSArray
* buttonsArray = [NSArrayarrayWithObjects:button1,button2,doneButton,nil];
[toolbar setItems:buttonsArray];
[self.textfieldsetInputAccessoryView:toolbar];
}
- (void)resignKeyboard
{
[self.textfieldresignFirstResponder];
}