import UIKit

class ViewController: UIViewController {

@IBOutlet weak var toolBar: UIToolbar!

@IBOutlet weak var addActionLabel: UILabel!

override func viewDidLoad() {

super.viewDidLoad()

configureToolbar();

}

//配置tool bar Item
函数

func configureToolbar(){

let toolbarButtonItem = [addButtonItem,

flexibleSpaceBarButtonItem,

cameraButtonItem]

toolBar.setItems(toolbarButtonItem, animated: true);

}

//tool bar
系统添加按钮 item

var addButtonItem:UIBarButtonItem{

return UIBarButtonItem(barButtonSystemItem: .Add, target: self, action: "AddAction:")

}

//tool bar
系统照相按钮 item

var cameraButtonItem:UIBarButtonItem{

return UIBarButtonItem(barButtonSystemItem:.Camera, target:self, action: "cameraAction:")

}

//item

之间直接弹簧

弹簧

var flexibleSpaceBarButtonItem: UIBarButtonItem {

return UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil)

}

//添加按钮事件

func AddAction(barButtonItem:UIBarButtonItem ){

addActionLabel.text = "add action something"

print("add action something")

}

//照相按钮事件

func cameraAction(barButtonItem:UIBarButtonItem ){

addActionLabel.text = "camera  something"

print("camera  something")

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}

 下面 我们在添加一个自定义的buttonItem

//自定义

var customButtonItem:UIBarButtonItem{

return UIBarButtonItem(title:"ToolBar", style:.Done, target: self, action: "CustomAction:")

}

如何添加上图中需要个弹簧 和一个点击事件方法

//item
之间弹簧

var flexibleSpaceBarButtonTwo:UIBarButtonItem{

return UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil);

}

//自定义Item事件

func CustomAction(customBarButtonItem:UIBarButtonItem){

addActionLabel.text = "custom  something"

}

最重要修改配置函数,把新添加的item 放入数组里

//配置tool bar Item
函数

func configureToolbar(){

let toolbarButtonItem = [addButtonItem,

flexibleSpaceBarButtonItem,

cameraButtonItem,flexibleSpaceBarButtonTwo,customButtonItem]

toolBar.setItems(toolbarButtonItem, animated: true);

}

如何你觉得太难看了,好吧,我们可以把buttonItem 添加自己的背景图片,在做项目中经常都是这丫做的

在oc 中 我们可以改变toolbar的style 和tincolor 同样我们在查看swift toolbar api 的时候我们也会看见相同的API

看下api

//        enum UIBarStyle : Int {

//

//            case Default

//            case Black

//

//            // Deprecated. Use UIBarStyleBlack

//            case BlackTranslucent // Deprecated. Use UIBarStyleBlack and set the translucent property to YES

//        }

我就设置下 黑色透明的吧

toolBar.barStyle = .BlackTranslucent

toolBar.translucent = true;

toolBar.tintColor = UIColor.greenColor()

//添加图片的item

var customImageButtonIte:UIBarButtonItem{

return UIBarButtonItem(image:UIImage(named:"test"), style: .Done, target: self, action: "CustomImageButtonItem");

}

swift 关于 toolbar 学习笔记的更多相关文章

  1. swift语言的学习笔记

    swift参考了OC,Rust,Haskell,Ruby,Python,C#等语言的特性.首先,学习这门语言是速学的,我不想浪费太多时间在笔记这门语言和其他语言的哪里不同,特性你自己亲自实践就知道了. ...

  2. 初探swift语言的学习笔记四(类对象,函数)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/29606137 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...

  3. 初探swift语言的学习笔记三(闭包-匿名函数)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/29353019 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...

  4. 初探swift语言的学习笔记十(block)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/35783341 转载请注明出处 假设觉得文章对你有所帮助,请通过留言 ...

  5. Swift基本语法学习笔记

    Swift与OC的不同点 导入框架的方式 OC使用#import \<UIKit/UIKit.h> Swift使用import UIKit 定义标识符的方式 Swift中定义标识符,必须指 ...

  6. 初探swift语言的学习笔记七(swift 的关健词)

    每一种语言都有相应的关键词,每个关键词都有他独特的作用,来看看swfit中的关键词: 关键词: 用来声明的: “ class, deinit, enum, extension, func, impor ...

  7. 初探swift语言的学习笔记(闭包 - 匿名函数或block块代码)

    很多高级语言都支持匿名函数操作,在OC中的block也为大家所熟悉,然面在swift里好像是被重新作了一个定义,不叫匿名函数,或 block了,而叫闭包(closure).下面配合代码来理解一下swi ...

  8. 初探swift语言的学习笔记五(线程)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/30354127 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...

  9. Swift 2.0学习笔记(Day 16)——字典集合

    Swift字典表示一种非常复杂的集合,允许按照某个键来访问元素.字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合.键集合是不能有重复元素的,而值集合是可以重复的,键和值是成 ...

随机推荐

  1. 使用 IIS Manager 对 Windows Azure 网站进行远程管理

     最近,我们为客户新增了使用 Windows自带的 IIS管理控制台管理 Azure网站的功能.IIS Manager支持 HTTP over SSL,提供到您的 Windows Azure 网站 ...

  2. ddraw 视频下画图 不闪烁的方法

    我们如果是在在RGB视频上画图(直线,矩形等),一般采用双缓冲区继续,使用内存MemoryDC,来实现画的图形在视频上显示不闪烁的功能,但是我们知道用RGB显示视频都是使用GDI进行渲染,这样很耗CP ...

  3. png的格式及像素存储分析

    从图片的数据块存储方式来看png分两种 1.索引色模式存储.png8的索引色透明就采取该种方式.该种方式是将颜色存在png的可选模块调色板中,调色板的色彩存储格式为RGB(各1byte).而图片的数据 ...

  4. Andorid Binder进程间通信---Binder本地对象,实体对象,引用对象,代理对象的引用计数

    本文參考<Android系统源码情景分析>,作者罗升阳. 一.Binder库(libbinder)代码: ~/Android/frameworks/base/libs/binder --- ...

  5. wdcp centos6.5多网站部署

    一.wdcp介绍 wdCP是WDlinux Control Panel的简称,是一套通过WEB控制和管理服务器的Linux服务器管理系统以及虚拟主机管理系统,旨在易于使用Linux系统做为我们的网站服 ...

  6. python成长之路13

    一:SqlAlchemy ORM ORM:Object Relational Mapping 对象关系映射是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 SQLAlchemy是 ...

  7. (IOS)数据持久化

    1.属性列表序列化 2.模型对象归档 3.嵌入式SQLite3 4.Core Data 5.应用程序设置 6.UIDocument管理文档存储 7.iCloud Demo界面: 1.属性列表序列化 即 ...

  8. iOS开发之SDWebImage详解

    介绍 github地址: https://github.com/rs/SDWebImage 简介 一个异步图片下载及缓存的库 特性: 一个扩展UIImageView分类的库,支持加载网络图片并缓存图片 ...

  9. struts文件上传和下载

    文件上传 jsp中 <a href="/file/new.action">文件上传案例</a> fileaction中 @Override public S ...

  10. NOIP2015

    现在来总结一下. 斗地主 这题的题目描述感觉不太清晰,当时有很多人去问,但都没有得到任何回应.好吧,虽然我也是似懂非懂,但是就算看清楚了题目又能怎么样呢. 首先这题只能够搜索吧,或者说是DP,不过有很 ...