1.在UINavigationController导航控制器中存在UIToolBar的,而且默认时被隐藏的。
- 需要设置self.navigationController.toolbarHidden = NO;
(建议最好在viewWillApper:设置) - 然后创建UIBarButtonItem,需要用到什么类型就加什么,系统自带了许多样式让你选择(还是自定义好看,符合国人的使用)
UIBarButtonSystemItemDone -
UIBarButtonSystemItemCancel -
UIBarButtonSystemItemEdit -
UIBarButtonSystemItemSave -
UIBarButtonSystemItemAdd -
UIBarButtonSystemItemFlexibleSpace - 可以让UIBarButtonItem靠右显示
UIBarButtonSystemItemFixedSpace
UIBarButtonSystemItemCompose -
UIBarButtonSystemItemReply -
UIBarButtonSystemItemAction -
UIBarButtonSystemItemOrganize -
UIBarButtonSystemItemBookmarks -
UIBarButtonSystemItemSearch -
UIBarButtonSystemItemRefresh -
UIBarButtonSystemItemStop -
UIBarButtonSystemItemCamera -
UIBarButtonSystemItemTrash -
UIBarButtonSystemItemPlay -
UIBarButtonSystemItemPause -
UIBarButtonSystemItemRewind -
UIBarButtonSystemItemFastForward -
UIBarButtonSystemItemUndo -
UIBarButtonSystemItemRedo -
UIBarButtonSystemItemPageCurl - 通过[self setToolBarItems:@[items1,items。。。]]添加到ToolBar上
- 加了UIBarButtonSystemItemFlexibleSpace的Items,放在数组的最前面,就会靠右显示
2.在键盘的inputAccessoryView上添加UIToolBar,通常来回收键盘
```objc
UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, kScreenWidth, 30)];
[topView setBarStyle:UIBarStyleDefault];UIBarButtonItem * btnSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.frame = CGRectMake(4, 5, 40, 25); [btn setTitleColor:self.tintColor forState:UIControlStateNormal]; [btn addTarget:self action:@selector(dismissKeyBoard) forControlEvents:UIControlEventTouchUpInside]; [btn setTitle:@"完成" forState:UIControlStateNormal]; UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc]initWithCustomView:btn]; NSArray * buttonsArray = [NSArray arrayWithObjects:btnSpace,doneBtn,nil]; [topView setItems:buttonsArray]; [self.tf setInputAccessoryView:topView];
```出现的效果如下
链接:http://www.jianshu.com/p/9df841492f88
來源:简书