iOS开发——UI篇Swift篇&UIToolbar
UIToolbar
class UIToolBarUISearchBar: UIViewController,UISearchBarDelegate {
var titleString:String!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
/********** UIToolbar ************************************************/
//创建UIToolbar实例
var toolBar:UIToolbar = UIToolbar(frame: CGRectMake(, , UIScreen.mainScreen().bounds.size.width, ))
//添加到视图上
self.view.addSubview(toolBar)
//设置工具栏样式
toolBar.barStyle = UIBarStyle.Default
//设置工具栏按钮文字颜色
toolBar.tintColor = UIColor.greenColor()
//设置工具栏颜色
toolBar.backgroundColor = UIColor.redColor()
//创建一个间距
var flexibleSpace = UIBarButtonItem(barButtonSystemItem:UIBarButtonSystemItem.FlexibleSpace, target:"barButtonItemClicked:", action:nil)
//创建一个返回按钮
var backItem = UIBarButtonItem(title: "返回", style:UIBarButtonItemStyle.Plain, target:self, action:"backItemClicked:")
//继续创建按钮
var barBtnItem1 = UIBarButtonItem(title: "功能1", style:UIBarButtonItemStyle.Plain, target:self, action:"barBtnItemClicked:")
var barBtnItem2 = UIBarButtonItem(title: "功能2", style:UIBarButtonItemStyle.Plain, target:self, action:"barBtnItemClicked:")
toolBar.items = [flexibleSpace, backItem, flexibleSpace, barBtnItem1, flexibleSpace, barBtnItem2,flexibleSpace]
/********** UIToolbar ************************************************/
var searchBar = UISearchBar(frame: CGRectMake(, , UIScreen.mainScreen().bounds.size.width, ))
self.view.addSubview(searchBar)
//设置UISearchBar样式
searchBar.barStyle = UIBarStyle.Default
//设置UISearchBar的委托
searchBar.delegate = self
//设置UISearchBar上面的显示的文字
searchBar.text = "租房点评"
//设置在顶部的单行文字,通常作为一个提示行
searchBar.prompt = "请关注下面App,各大市场均有下载"
//搜索框占位符号-半透明的提示文字,输入搜索内容消失
searchBar.placeholder = "请输入App名称"
//控件右端是否显示一个书的按钮
searchBar.showsBookmarkButton = true
//控件右端是否显示cancel按钮
searchBar.showsCancelButton = true
//控件右端是否显示搜索结果按钮
searchBar.showsSearchResultsButton = true
//搜索结果按钮是否被选中
searchBar.searchResultsButtonSelected = true
//bar的颜色
searchBar.tintColor = UIColor.redColor()
//指定UISearchBar是否会有透视效果
searchBar.translucent = true
//设置在什么的情况下自动大写
searchBar.autocapitalizationType = UITextAutocapitalizationType.AllCharacters
//对于文本对象自动校正风格
searchBar.autocorrectionType = UITextAutocorrectionType.Default
//键盘的样式
searchBar.keyboardType = UIKeyboardType.Default
//UISearchBar下部的选择栏,数组里面的内容是按钮的标题
searchBar.scopeButtonTitles = ["]
//UISearchBar下部索引范围按钮的标题阵列。默认值是0。如果超出范围的忽视
searchBar.selectedScopeButtonIndex =
//控制UISearchBar下部的选择栏是否显示出来
searchBar.showsScopeBar = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
//返回按钮事件
func backItemClicked(sender: UIBarButtonItem)
{
self.navigationController?.popViewControllerAnimated(true)
}
//
func barBtnItemClicked(sender: UIBarButtonItem)
{
var barItemTitle = sender.title
var aler:UIAlertView = UIAlertView(title: "您单击的是", message: barItemTitle, delegate: nil, cancelButtonTitle: "确定")
aler.show()
}
// MARK: - UISearchBarDelegate
//搜索框开始时是否能编辑
func searchBarShouldBeginEditing(searchBar: UISearchBar) -> Bool{
return true //返回允许不允许编辑
}
//搜索框开始输入内容
func searchBarTextDidBeginEditing(searchBar: UISearchBar){
}
//搜索框结束时是否能编辑
func searchBarShouldEndEditing(searchBar: UISearchBar) -> Bool{
return true
}
//结束文本输入
func searchBarTextDidEndEditing(searchBar: UISearchBar){
}
//更具searchText进行搜索
func searchBar(searchBar: UISearchBar, textDidChange searchText: String){
}
//文本改变时触发
func searchBar(searchBar: UISearchBar, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool{
return true
}
//右侧搜索按钮事件
func searchBarSearchButtonClicked(searchBar: UISearchBar){
}
//右侧类似书的按钮事件
func searchBarBookmarkButtonClicked(searchBar: UISearchBar){
}
//右侧取消按钮事件
func searchBarCancelButtonClicked(searchBar: UISearchBar){
}
//右侧结果列表按钮事件
func searchBarResultsListButtonClicked(searchBar: UISearchBar){
}
//UISearchBar下面栏目选择改变触发事件
func searchBar(searchBar: UISearchBar, selectedScopeButtonIndexDidChange selectedScope: Int){
}
iOS开发——UI篇Swift篇&UIToolbar的更多相关文章
- iOS开发——技术精华Swift篇&Swift 2.0和Objective-C2.0混编之第三方框架的使用
swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.Swift语言采用安全编程模式,且引 ...
- iOS开发——新特性Swift篇&Swift 2.0 异常处理
Swift 2.0 异常处理 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主要围绕这个方面进行讨论. 如何建造异常类型? 在 i ...
- iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍
UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...
- iOS开发——网络编程Swift篇&Alamofire详解
Alamofire详解 预览图 Swift Alamofire 简介 Alamofire是 Swift 语言的 HTTP 网络开发工具包,相当于Swift实现AFNetworking版本. 当然,AF ...
- ios开发——实用技术总结Swift篇&swift常用开发技术总结
swift常用开发技术总结 懒加载:属性,数组(字典),控件... 数组(懒加载): lazy var shops:Array<Dictionary<String, String>& ...
- iOS开发——网络编程Swift篇&(八)SwiftyJSON详解
SwiftyJSON详解 最近看了一些网络请求的例子,发现Swift在解析JSON数据时特别别扭,总是要写一大堆的downcast(as?)和可选(Optional),看?号都看花了.随后发现了这个库 ...
- ios开发——实用技术篇Swift篇&地址薄、短信、邮件
//返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControllerAnimated(tru ...
- iOS开发——图形编程Swift篇&CAShapeLayer实现圆形图片加载动画
CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形 ...
- iOS开发零基础--Swift篇 元组
元组的介绍 元组是Swift中特有的,OC中并没有相关类型 它是什么呢? 它是一种数据结构,在数学中应用广泛 类似于数组或者字典 可以用于定义一组数据 组成元组类型的数据可以称为“元素” 元组的定义 ...
- iOS开发零基础--Swift篇 循环
循环的介绍 在开发中经常会需要循环 常见的循环有:for/while/do while. 这里我们只介绍for/while,因为for/while最常见 for循环的写法 最常规写法 // 传统写法 ...
随机推荐
- DOM笔记(九):引用类型、基本包装类型和单体内置对象
一.Array 1 .创建数组的方式 //Array构造函数(可以去掉new) var colors0 = new Array(); var colors1 = new Array(20); var ...
- (转载)OC学习篇之---归档和解挡
前几篇文章说到了OC中的Foundation框架,今天我们来看一下OC中的一个重要知识点:归档 OC中的归档就是将对象写入到一个文件中,Java中的ObjectInputStream和ObjectOu ...
- [转]一些实用的图表Chart制作工具
最近工作过程中需要用到前端一些JS框架,看到一篇博文就转过来备份使用,后续会再完善一些材料. Flot Flot一个纯javascript绘画库,基于jQuery开发.它能够在客户端根据任何数 ...
- effective c++:尽量替换define,确保对象使用前初始化
#define ASPECT_RATIO 1.653 名为ASPECT_RATIO的值在预编译阶段被替换成1.653,如果在这个常量上出现编译错误,我们可能会困惑1.653的值是什么意思,于是将因为跟 ...
- Tcl之group arguments
1 doubel quotes This allows substitutions to occur within the quotations - or "interpolation&qu ...
- [TL-WR841N V5~V9] 如何当作无线交换机使用?
http://service.tp-link.com.cn/detail_article_1034.html
- Linux Shell脚本教程
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- kali系统安装图文教程
工具和原料 1.虚拟机:Oracle VM VirtualBox 下载地址:https://www.virtualbox.org/wiki/Downloads 根据你自己的计算机操作系统下载,其中如果 ...
- 可变长参数列表误区与陷阱——va_arg不可接受的类型
可变长参数列表误区与陷阱--va_arg不可接受的类型 实现一个有可变长参数列表函数的时候,会使用到stdarg.h(这里不讨论varargs.h)中提供的宏. 例如,我们要实现一个简易的my_pri ...
- ado通用操作数据单元
DELPHI开发2层C/S数据库应用程序,许多人通过ADOQUERY或ADOTABLE直接操作数据库,其实这种方法虽然最为直接,但有其缺点:如果以后要将程序升级为3层C/S会非常困难.而通过像下面的通 ...