IOS NavigationController Toolbar学习笔记

原创 2013年12月04日 17:25:51

1、首先将toolbar显示出来,在viewDidLoad中添加代码让toolbar显示,代码如下:

[self.navigationController setToolbarHidden:NO animated:YES]

     显示如下图:

 

2、在ToolBar上添加UIBarButtonItem

新建几个UIBarButtonItem,然后以数组的形式添加到Toolbar中
       

 UIBarButtonItem *camera=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(ClickToolBarButton)];
    [camera setWidth:80];
    UIBarButtonItem *refresh=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(ClickToolBarButton)];
    [refresh setWidth:80];
    UIBarButtonItem *reply=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemReply target:self action:@selector(ClickToolBarButton)];
    [reply setWidth:80];
    UIBarButtonItem *compose=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:self action:@selector(ClickToolBarButton)];
    [compose setWidth:80];
    
    UIBarButtonItem *splitspace=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    
    [self setToolbarItems:[NSArray arrayWithObjects:splitspace,camera,splitspace,refresh,splitspace,reply,splitspace,compose,splitspace, nil]];

定义点击事件,代码如下:
-(void)ClickToolBarButton{
    NSLog(@"你点击了!");
}
最终运行效果图如下:


说明:使用[self.navigationController setToolbarItems:[NSArray arrayWithObjects:splitspace,camera,splitspace,refresh,splitspace,reply,splitspace,compose,splitspace, nil] animated:YES];添加是不起作用的。

3、自定义Toolbar,首先新建一个页面,在头文件中声明一下UIToolbar *toolbar;
   在实现文件中的viewDidLoad方法中实现自定义Toolbar,实现代码如下:
 

 - (void)viewDidLoad
{
    [super viewDidLoad];
    [self.navigationController setToolbarHidden:YES animated:YES];
    //自定义的UIView
    UIButton *btn=[UIButton buttonWithType:UIButtonTypeContactAdd];
    
    [btn addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *firstButton=[[UIBarButtonItem alloc] initWithCustomView:btn];
    [firstButton setWidth:120];
    //系统自带的view
    UIBarButtonItem *addButton=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:nil];
    toolbar=[[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height-toolbar.frame.size.height-44, self.view.frame.size.width, 44)];
    [toolbar setBarStyle:UIBarStyleDefault];
    toolbar.autoresizingMask=UIViewAutoresizingFlexibleTopMargin;
    [toolbar setItems:[NSArray arrayWithObjects:addButton,firstButton,nil]];
    [self.view addSubview:toolbar];
    //Do any additional setup after loading the view from its nib.
}


运行以后界面如下:


工程文件下载地址:下载

  IOS NavigaionController讲解一地址:http://blog.csdn.net/u011872945/article/details/16944037

版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS学习之UINavigationController详解与使用(三)ToolBar

iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController  接上篇,我们接着讲Navigation 的Toolbar。1、显示Toolb...
  • totogo2010
  • totogo2010
  • 2012年06月21日 13:25
  • 80200

【iOS开发-23】toolbar工具条和toolbarItems:与navigationBar和navigationItem类似,重点是如何排版工具条的元素

toolbar属性、toolbarItems与上一讲的navigationBar、navigationItem类似。只不过toolbarItems没有navigationItem的左右区分,它就自己一...
  • wsb200514
  • wsb200514
  • 2014年09月29日 10:49
  • 4740

iphone toolbar.hidden=YES 导致后期压栈的界面出现异常的解决办法

其他页面都是隐藏。SVWebViewController 使用的时候必须是需要  navigationBar 和 toorbar,但是 pop出这个viewcontroller后,需要隐藏naviga...
  • zltianhen
  • zltianhen
  • 2011年11月04日 13:25
  • 951

navigationBar隐藏,toolbar隐藏

首先参考导航控制器基础,我们继续实现隐藏效果 http://blog.csdn.net/lee727n/article/details/72567569 实现点击隐藏,再点击显示的coding-(...
  • lee727n
  • lee727n
  • 2017年05月20日 00:36
  • 105

IOS开发,UINavigationController属性和基本用法详解

Demo: //1,改变导航控制器的颜色 两种方法 [[UINavigationBar appearance] setBarTintColor:[UIColor purpleColor]]; ...
  • walden00
  • walden00
  • 2015年09月10日 17:48
  • 1752

ios 关于navigationController导航栏隐藏问题

NavigationController导航栏设置隐藏,不知道你有没有尝试过下面这个方法。 self.navigationController.navigationBarHidden = YES; ...
  • dec_9314
  • dec_9314
  • 2015年12月08日 14:15
  • 8599

iOS自定义工具栏(Toolbar)

自定义工具栏,可以创建多个Item。 //创建工具栏     [self.navigationController setToolbarHidden:NO animated:YES];...
  • sevenquan
  • sevenquan
  • 2016年03月30日 17:50
  • 3551

Xcode9学习笔记18 - 导航栏和工具栏的显示和隐藏UINavigationController

在这篇文章的工程中继续编辑代码:http://blog.csdn.net/u011728344/article/details/78325238 //建立视图控制器声明周期中,视图即...
  • u011728344
  • u011728344
  • 2017年10月25日 07:29
  • 456

导航控制器(NavigationController)的生命周期

iOS NavigationControllers 的生命周期
  • xcoder_ping
  • xcoder_ping
  • 2016年05月25日 10:59
  • 994

NavigationController的视图,滑动手势返回

iOS 7中在传统的左上角返回键之外,提供了右滑返回上一级界面的手势。支持此手势的是UINavigationController中新增的属性 interactivePopGestureRecogni...
  • qq_27642183
  • qq_27642183
  • 2016年01月30日 10:52
  • 1164
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS NavigationController Toolbar学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)