可以在toolBar上添加任何View。其实它的原理是把你要添加的View先加到UIBarButtonItem里面,最后再把UIBarButtonItem数组一次性放到toolbar的items里面。

1.首先,我们看一下UIBbarButtonItem有哪些初始化方法,这也可以看出,它可以被定义为什么东东,然后加到UIToolBar上面去。

根据SDK的文档,我们可以发现UIBarButtonItem有如下几种初始化的方法:

-initWithTitle(添加button用这个)

-initWithImage

-initWithBarButtonSystemItem(添加系统自定义的button,形状跟大小都已经固定了)下面链接里面有按钮图片样式

https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIBarButtonItem_Class/Reference/Reference.html

-initWithCustomView(添加除了button以外的View)

第4种方法就是我们添加各种作料的接口,所以今天的主角其它也是它。

2.在UIToolBar上面添加Title

view plaincopy to clipboardprint?

UIToolbar *myToolBar = [[UIToolbar alloc] initWithFrame:

CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];

NSMutableArray *myToolBarItems = [NSMutableArray array];

[myToolBarItems addObject:[[[UIBarButtonItem alloc]

initWithTitle:@"myTile"

style:UIBarButtonItemStylePlain

target:self

action:@selector(action)] autorelease]];

[myToolBar setItems:myToolBarItems animated:YES];

[myToolBar release];

[myToolBarItems];

setItems传入值或者说items是一个对象数组。

3.在UIToolBar上面添加image

view plaincopy to clipboardprint?

[myToolBarItems addObject:[[[UIBarButtonItem alloc]

initWithImage:[UIImage imageNamed:@"myImage.png"]

style:UIBarButtonItemStylePlain

target:self

action:@selector(action)]];

4.在UIToolBar上面添加SystemItem

[myToolBarItems addObject:[[[UIBarButtonItem alloc]

initWithBarButtonSystemItem:UIBarButtonSystemItemPlay

target:self

action:@selector(action)] autorelease]];

Note:

initWithBarButtonSystemItem初始化:

- (id)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(SEL)action

Defines system defaults for commonly used items.

typedef enum {

UIBarButtonSystemItemDone,

UIBarButtonSystemItemCancel,

UIBarButtonSystemItemEdit,

UIBarButtonSystemItemSave,

UIBarButtonSystemItemAdd,

UIBarButtonSystemItemFlexibleSpace,

UIBarButtonSystemItemFixedSpace,

UIBarButtonSystemItemCompose,

UIBarButtonSystemItemReply,

UIBarButtonSystemItemAction,

UIBarButtonSystemItemOrganize,

UIBarButtonSystemItemBookmarks,

UIBarButtonSystemItemSearch,

UIBarButtonSystemItemRefresh,

UIBarButtonSystemItemStop,

UIBarButtonSystemItemCamera,

UIBarButtonSystemItemTrash,

UIBarButtonSystemItemPlay,

UIBarButtonSystemItemPause,

UIBarButtonSystemItemRewind,

UIBarButtonSystemItemFastForward,

UIBarButtonSystemItemUndo,        // iPhoneOS 3.0

UIBarButtonSystemItemRedo,        // iPhoneOS 3.0

} UIBarButtonSystemItem;

5.在UIToolBar上面添加其它各种控件,最自由意义,最有意思的,我把它放在最后来讲。我们使用initWithCustomView来完成,

这里需要看一下initWithCustomView的定义:

- (id)initWithCustomView:(UIView *)customView

可以看出,它的参数是一个VIEW,所以我们给它的配料要正确哦才行哦,否则,你就等着时间DIDADIDA的流失吧.

A>加一个开关switch:

[myToolBarItems addObject:[[[UIBarButtonItem alloc]

initWithCustomView:[[[UISwitch alloc] init] autorelease]]

autorelease]];

B>加一个按钮UIBarButtonItem

UIBarButtonItem *myButton = [[[UIBarButtonItem alloc]

initWithTitle:@"myButton"

style:UIBarButtonItemStyleBordered

target:self

action:@selector(action)]autorelease];

get1Button.width = 50;

[myToolBarItems addObject:myButton];

C>加一个文本Label

view plaincopy to clipboardprint?

UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40.0f, 20.0f, 45.0f, 10.0f)];

myLabel.font=[UIFont systemFontOfSize:10];

//myLabel.backgroundColor = [UIColor clearColor];

//myLabel.textAlignment=UITextAlignmentCenter;

UIBarButtonItem *myButtonItem = [[UIBarButtonItem alloc]initWithCustomView:myLabel];

[myToolBarItems addObject: myButtonItem];

[mylabel release];

[myButtonItem release];

D>加一个进度条UIProgressView

UIProgressView *myProgress = [[UIProgressView alloc] initWithFrame:CGRectMake(65.0f, 20.0f, 90.0f, 10.0f)];

UIBarButtonItem *myButtonItem = [[UIBarButtonItem alloc]initWithCustomView:myProgress];

[myToolBarItems addObject: myButtonItem];

[myProgress release];

[myButtonItem release];

可以加使用initWithCustomView制作各种button,这里就不在这里一个一个在加了。我想你应该也已经掌握了如何添加各种buttonItem的方法了。

UIToolBar使用示例相关推荐

  1. 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )

    转载注明出处 : http://blog.csdn.net/shulianghan/article/details/50348982 一. 日期选择器 (UIDatePicker) UIDatePic ...

  2. 在UIToolbar上创建左箭头按钮(如UINavigationBar的“后退”样式)

    本文翻译自:Creating a left-arrow button (like UINavigationBar's "back" style) on a UIToolbar I' ...

  3. .net连接mysql数据_.net连接MYSQL数据库的方法及示例!

    连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...

  4. CPU Cache原理与示例

    CPU Cache原理与示例 基础知识 现在的 CPU 多核技术,都会有几级缓存,老的 CPU 会有两级内存(L1 和 L2),新的CPU会有三级内存(L1,L2,L3 ),如下图所示: 其中:  ...

  5. 编译器 llvm clang 源码转换示例

    编译器 llvm clang 源码转换示例 从git获取llvm项目的源码方式: git clone https://github.com/llvm/llvm-project.git 下载源码后,进入 ...

  6. Cache Memory技术示例

    Cache Memory技术示例 为什么需要cache?如何判断一个数据在cache中是否命中?cache的种类有哪些,区别是什么? 为什么需要cache memory 先思考第一个问题:程序是如何运 ...

  7. Swift与LLVM-Clang原理与示例

    Swift与LLVM-Clang原理与示例 LLVM 学习 从 简单汇编基础 到 Swift 不简单的 a + 1 作为iOS开发,程序崩溃犹如家常便饭,秉着没有崩溃也要制造崩溃的原则 每天都吃的很饱 ...

  8. C语言与OpenCL的编程示例比较

    C语言与OpenCL的编程示例比较 OpenCL支持数据并行,任务并行编程,同时支持两种模式的混合.对于同步 OpenCL支持同一工作组内工作项的同步和命令队列中处于同一个上下文中的 命令的同步. 在 ...

  9. OpenCL框架与示例

    OpenCL框架与示例 下面的图简单说明了OpenCL的编程框架,图是用的GPU,其他类似: 名词的概念: Platform (平台):主机加上OpenCL框架管理下的若干设备构成了这个平台,通过这个 ...

  10. ONNX MLIR应用示例(含源码链接)

    ONNX MLIR应用示例(含源码链接) 开放式神经网络交换在MLIR中的实现 (http://onnx.ai/onnx-mlir/). Prebuilt Containers 开始使用ONNX-ML ...

最新文章

  1. chrome谷歌浏览器用这种方式清除缓存比较方便了,必须是调试模式才行
  2. 加入依赖后刷新_和平精英海岛图神秘野区加入!地图没显示 刷新点在这儿
  3. 分析一次STP无法生效的故障
  4. hbase启动报错Permission denied: user=xxx, access=WRITE, inode=“/HBase/MasterProcWALs“:root:supergroup:d
  5. oracle 三个口令管理,Oracle学习笔记(12)口令和资源管理
  6. 以太网RJ45 接线标准 线序(备忘)
  7. mysql 1786_mysql错误处理之ERROR 1786 (HY000)
  8. filter:alpha(opacity=100,style=1)
  9. 问题六十八:BRDF——(着色模型(shading model)(1)——反射模型(reflection model)(3.2))
  10. poj[2230]Watchcow 深搜 欧拉回路
  11. 软件开发的11种模式
  12. 如何快速成功卸载Eclipse插件
  13. slim 搭建rnn_RNN入门(三)利用LSTM生成旅游点评
  14. win10 1050Ti 笔记本配置 TensorFlow-gpu 过程(多图超详细)
  15. 使用TTP223触摸传感器和Arduino UNO开发板实现触摸控制灯泡
  16. html让底部文字居中,网站底部版权居中-html css怎么让文字在页面底部居中
  17. opencv安装教程python anaconda_anaconda安装opencv(python)
  18. biti_rainy's blog
  19. 无人机无线Mesh自组网,CV5200远距离WiFi模组,实时通信传输技术
  20. Windows AD证书服务系列---部署CA(1)

热门文章

  1. bps与bit/s和Bps与buad/s
  2. zblog php 二级菜单,ZblogPHP模版导航栏跟随效果
  3. php5.4 无法连接mongo,php连接MongoDB总是失败,为什么?
  4. Python 三种过滤去重方法
  5. Phoenix使用注意事项以及跟标准sql的不同
  6. HDU 2686 MCMF
  7. [NOIP2012] 提高组 洛谷P1083 借教室
  8. 一次非常成功的项目经验分享和糟糕项目的对比
  9. 查看最大的10个文件
  10. 应用程序中的服务器错误