博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
toolBar和toolBarItem的定制
阅读量:6511 次
发布时间:2019-06-24

本文共 2525 字,大约阅读时间需要 8 分钟。

hot3.png


首先和导航控制器的定制原理是一样的,首先要搞清楚toolBar是属于导航控制器管理的

,所以在定制toolBar的时候,要在拿到导航控制器才可以定制

而toolBarItem是属于视图控制器的,要拿到这个视图控制器才可以定制


FJNavigationController.m

#import "FJNavigationController.h"

FJNavigationController ()

@implementation FJNavigationController

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    

    [self toolBarSetting];

    

    

}

#pragma mark -定制toolBar

- (void)toolBarSetting{

    

    //toolBar默认是隐藏的

    self.toolbarHidden = NO;//一般只在需要显示工具条的节目去设置

    

    //1.设置是否有透明度(默认是有透明度的)

    self.toolbar.translucent  = NO;

    

    //2.设置toolBar颜色

    [self.toolbar setBarTintColor:[UIColor cyanColor]];

    

    //3.设置填充颜色(镂空部分的颜色)

    [self.toolbar setTintColor:[UIColor cyanColor]];

    

    //4.设置背景图片

    //参数1:图片

    //参数2:显示位置

    //参数3:度量

    [self.toolbar setBackgroundImage:[UIImage imageNamed:@"toolBar"] forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefault] ;

    

   

}


FirstViewController.m

#import "FirstViewController.h"

@interface FirstViewController ()

@end

@implementation FirstViewController

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    [self.view setBackgroundColor:[UIColor lightGrayColor]];

    

    //定制toolBarItem

    [self toolbarItemSetting];

    

}

#pragma mark - 定制toolbarItem

- (void)toolbarItemSetting{

    

  

    //toolBarItem中得itemnavigationItem中得item属于同一类

    //都是UIBarButtonItem;

    

    //1.创建toolbarItem

    UIBarButtonItem *item1 =[ [UIBarButtonItem alloc]

initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(onClicked)];

    

    

    UIBarButtonItem *item2 =[ [UIBarButtonItem alloc]

                             initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(onClicked)];

    

    

    UIBarButtonItem *item3 =[ [UIBarButtonItem alloc]

                             initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:nil action:@selector(onClicked)];

    

    

    //3.items均匀的显示在toolBar

    

    //专门用来占位item(自动计算两个item之间的间隔)

//    UIBarButtonSystemItemFlexibleSpace,

        //只是用来占位,不需要点击

//    UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc]

//                                  initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];

//    

    //固定两个item之间的间隔:

    //    UIBarButtonSystemItemFixedSpace,

    

    UIBarButtonItem *spaceItem2 =[ [UIBarButtonItem alloc]

initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:nil action:nil];

    

    spaceItem2.width = 120;

    

    

    self.toolbarItems = @[spaceItem2,item1,spaceItem2,item2,spaceItem2,item3,spaceItem2];

    

    

    //2.显示在toolBar

  //  self.toolbarItems = @[spaceItem,item1,spaceItem,item2,spaceItem,item3,spaceItem];

}

#pragma mark -点击toolBaritem

- (void) onClicked{

    

    NSLog(@"被点击了");

    

}

@end

转载于:https://my.oschina.net/luhoney/blog/661381

你可能感兴趣的文章