swift 关于 toolbar 学习笔记
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.
}

//自定义
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 学习笔记的更多相关文章
- swift语言的学习笔记
swift参考了OC,Rust,Haskell,Ruby,Python,C#等语言的特性.首先,学习这门语言是速学的,我不想浪费太多时间在笔记这门语言和其他语言的哪里不同,特性你自己亲自实践就知道了. ...
- 初探swift语言的学习笔记四(类对象,函数)
作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/29606137 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...
- 初探swift语言的学习笔记三(闭包-匿名函数)
作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/29353019 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...
- 初探swift语言的学习笔记十(block)
作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/35783341 转载请注明出处 假设觉得文章对你有所帮助,请通过留言 ...
- Swift基本语法学习笔记
Swift与OC的不同点 导入框架的方式 OC使用#import \<UIKit/UIKit.h> Swift使用import UIKit 定义标识符的方式 Swift中定义标识符,必须指 ...
- 初探swift语言的学习笔记七(swift 的关健词)
每一种语言都有相应的关键词,每个关键词都有他独特的作用,来看看swfit中的关键词: 关键词: 用来声明的: “ class, deinit, enum, extension, func, impor ...
- 初探swift语言的学习笔记(闭包 - 匿名函数或block块代码)
很多高级语言都支持匿名函数操作,在OC中的block也为大家所熟悉,然面在swift里好像是被重新作了一个定义,不叫匿名函数,或 block了,而叫闭包(closure).下面配合代码来理解一下swi ...
- 初探swift语言的学习笔记五(线程)
作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/30354127 转载请注明出处 假设认为文章对你有所帮助,请通过留言 ...
- Swift 2.0学习笔记(Day 16)——字典集合
Swift字典表示一种非常复杂的集合,允许按照某个键来访问元素.字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合.键集合是不能有重复元素的,而值集合是可以重复的,键和值是成 ...
随机推荐
- Clojure绘制UML
简单介绍 使用Clojure封装了Graphviz的使用.眼下主要实现了UML的绘制 使用 以命令模式的UML为例,演示cdraw的使用 安装Graphviz cdraw是对Graphviz的简单封装 ...
- nyoj-709-异形卵(水题)
异 形 卵 时间限制:1000 ms | 内存限制:65535 KB 难度: 描写叙述 我们探索宇宙,是想了解浩瀚星空的奥妙.但我们却非常少意识到宇宙深处藏匿的危急,它们无时无刻不紧盯着我们的地球 ...
- java中只能有一个实例的类的创建
Java中,如果我们创建一个类,想让这个类只有一个对象,那么我们可以 1:把该类的构造方法设计为private 2:在该类中定义一个static方法,在该方法中创建对象 package test; / ...
- dialog组件的jquery封装实现
(function($){ $.extend({ Dialog : function(id, options){ var option = $.extend({}, options); option. ...
- ASP.NET MVC5 学习笔记-1 控制器、路由、返回类型、选择器、过滤器
[TOC] 1. Action 1.1 新建项目 新建项目->Web->Asp.net Web应用程序,选择MVC,选择添加测试. 在解决方案上右键,选择"管理NuGet程序包& ...
- GSAP学习笔记
GSAP(Green Sock Animation Platform)是一个十分好用的js动画库,据说是as的精简版 以下是学习GSAP的一些笔记:貌似中文的文档不是很多 GSAP notes: tl ...
- 用macports装了一份openssl
我已经用macports装了一份openssl,然后自己又编译了一份openssl....第三方给Mac出的一个类似BSD Ports的一个软件包管理工具装的话只需要sudo port install ...
- Tilemill + tilestream + mapbox.js 自制地图
感谢Mapbox,带来了一整套完整的地图方案. 你可以把你的地图放在Mapbox的网站上.也可以使用他们提供的开源软件自己架设地图服务. Mapbox的地图方案包括web,ios和android. 不 ...
- 九度 和为S的连续正数序列
题目1354:和为S的连续正数序列 时间限制:2 秒 内存限制:32 兆 特殊判题:否 提交:2008 解决:622 题目描述: 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上 ...
- windows 下一个mysql password忘记改变
到场mysql简介 my.ini 于[mysqld]以下被加入 skip-grant-tables win+R 热键 进cmd 然后输入命令net stop mysql 最后一点,使文件夹mysql ...