iOS中 UIToolBar 技术分享

简介: UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏。当设置UIToolBar显示,或者存在UITabBarController且tabbar被隐藏的时候,toolbar就会显示出来。

UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏。当设置UIToolBar显示,或者存在UITabBarController且tabbar被隐藏的时候,toolbar就会显示出来。我们使用UIToolBar是由于它一直显示在屏幕底部,有时候我们需要在屏幕底部添加按钮或提示信息,就不需要另外创建一个UIView或其他视图了。因为创建UIView或其他视图需要适应屏幕尺寸,也会隐藏掉底部的视图显示,造成显示不完整的情况等。


fixbleSpace类型的BarButtonItem  主要用于工具条钮间距的调整.UIBarButtonSystemItem提供了一系列的系统按钮,其中有两个UIBarButtonSystemItemFlexibleSpace和UIBarButtonSystemItemFixedSpace

    这俩不是按钮,而是调整按钮间距用的对象

AppDelegate.m

 self.window.rootViewController = [[[UINavigationController alloc]initWithRootViewController:[RootViewController new]]autorelease];

 /************************** UIToolBar *************************************/

//设置navigationController的toolbar为不隐藏
    self.navigationController.toolbarHidden = NO;
    //设置navigationController的toolbar的背景颜色
    self.navigationController.toolbar.barTintColor = [UIColor orangeColor];
    
    //下面生成3中常用的UIBarButtonItem 分别为:
    //1. 系统提供的UIBarButtonItem类型
    UIBarButtonItem * item1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(cameraClick:)];
    
    //2. 自定义显示内容的UIBarButtonItem类型
    UIBarButtonItem * item2 = [[UIBarButtonItem alloc] initWithTitle:@"保存" style:UIBarButtonItemStylePlain target:self action:@selector(collectClick:)];
    
    
    UIImage * image = [[UIImage imageNamed:@"pause"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    
    //3.自定义图片的UIBarButtonItem类型
    UIBarButtonItem * item3 = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStyleDone target:self action:@selector(imageClick:)];
    
    //创建一个数组
    NSArray * ary = [NSArray arrayWithObjects:item1, item2, item3, nil];
    
    //将数组中的内容传递给navigationController的toolbarItems属性
    self.toolbarItems = ary;

/********************* fixbleSpace类型的BarButtonItem **********************/

UIBarButtonItem * item4 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:nil action:nil];
    
    UIBarButtonItem * item5 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:nil action:nil];
    
    UIBarButtonItem * item6 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:nil action:nil];
    
    UIBarButtonItem * item7 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:nil action:nil];
    
//    不写默认靠左侧显示
    //    NSArray * ary = [[NSArray alloc] initWithObjects: item4, item5, item6, item7,  nil];
    
    //自动调间距
    NSArray * ary = [[NSArray alloc] initWithObjects: item4, self.flexibleSpace, item5, self.flexibleSpace, item6, self.flexibleSpace, item7, nil];
    
    //靠左侧显示
    //    NSArray * ary = [[NSArray alloc] initWithObjects: item4, item5, item6, item7, self.flexibleSpace, nil];
    
    //靠右侧显示
    //    NSArray * ary = [[NSArray alloc] initWithObjects: self.flexibleSpace, item4, item5, item6, item7, nil];
    
    
    self.toolbarItems = ary;

方法实现部分:

- (void)cameraClick:(UIBarButtonItem *)sender
{
    NSLog(@"第一个被点击");
}

- (void)collectClick:(UIBarButtonItem *)sender
{
    NSLog(@"第二个被点击");
}

- (void)imageClick:(UIBarButtonItem *)sender
{
    NSLog(@"第三个被点击");
}


目录
相关文章
|
iOS开发
iOS开发UINavigation系列三——工具栏UIToolBar
iOS开发UINavigation系列三——工具栏UIToolBar
174 0
iOS开发UINavigation系列三——工具栏UIToolBar
|
iOS开发 Swift 容器
iOS - UIToolbar
前言 NS_CLASS_AVAILABLE_IOS(2_0) __TVOS_PROHIBITED @interface UIToolbar : UIView @available(iOS 2.0, *) public class UIToolbar : UIView, UIBarPositioning 工具条控件 UIToolbar 用做工具条按钮项(UIBarButtonItem)的容器,可以盛放一个或者多个工具条按钮项,一般放置在界面顶部或者底部。
1203 0
|
iOS开发
iOS中大流中的自定义cell 技术分享
AppDelegate.m指定根视图 self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:[[RootTableViewController alloc]...
717 0
|
监控 iOS开发
iOS中 WGAFN_网络监控 技术分享
需要用到第三方AFNetworking/SVProgressHUD 没有的可以关注我微博私信我.http://weibo.com/hanjunqiang AppDelegate.m #import "AFNetworking.
766 0
|
iOS开发
iOS中 轮播图放哪最合适? 技术分享
我们知道,轮播图放在cell或collectionViewCell上会影响用户层级交互事件,并且实现起来比较麻烦,现在推出一个技术点:答题思路是:将UIScrollView放在UIView或UICollectionView或者UITableView上,将UIScrollView的y设为需要的大小...
809 0

热门文章

最新文章