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循环的写法 最常规写法 // 传统写法 ...
随机推荐
- winform form
WinForm:Windows Form,.Net中用来开发Windows窗口程序的技术,无论是之前学的控制台程序,还是后面要学的asp.net都是调用.net框架,因此所有知识点都是一样的.新建一个 ...
- (转)log4j:WARN No appenders could be found for logger 解决方案
我们在使用Log4j的时候,总是出现: log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.Log ...
- httpd.conf 禁止运行PHP和html页面
<VirtualHost *:80> ServerName www.test.com DocumentRoot /var/www/www.test.com ErrorDo ...
- 集群重启后启动ambari-server访问Web页面无法启动集群解决
集群重启后启动ambari-server访问Web页面无法启动集群解决 使用ambari部署的集群重新启动后,必须手动重启ambari-server和所有集群主机上的ambari-agent. amb ...
- UVALive 7077 - Little Zu Chongzhi's Triangles(暴力)
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- centos 安装redis php
$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz $ tar xzf redis-3.0.7.tar.gz $ cd redis- ...
- 51Nod 1201 整数划分 (经典dp)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1201 题意不多说了. dp[i][j]表示i这个数划分成j个数 ...
- ASP.NET验证控件RegularExpressionValidator的常见表达式
可以输入非0和0开头的数字:“^(0*[1-9][0-9]*|[1-9][0-9]*)$”只能输入数字:“^[0-9]*$”只能输入n位的数字:“^\d{n}$”只能输入至少n位数字:“^\d{n,} ...
- android 工具类之图片加工
/** * 图片加工厂 * * @author way * */ public class ImageUtil { /** * 通过路径获取输入流 * * @param path * 路径 * @re ...
- Fragment进阶
fragment之间的通信,fragment和Activity生命周期之间的关系 通过上一篇浅显的学习了一下,怎么在Activity中添加fragment.在介绍fragment之间的通信之前,我们来 ...