iOS开发——UI篇Swift篇&UIPickerView
UIPickerView
//返回按钮事件
@IBAction func backButtonClick()
{
self.navigationController?.popViewControllerAnimated(true)
}
var authorsArray:[String]!
var appsArray:[String]!
override func viewDidLoad() {
super.viewDidLoad()
titleLabel.text = titleString
// Do any additional setup after loading the view.
//创建选择控制器
var pickerView:UIPickerView = UIPickerView(frame: CGRectMake(, , , ))
//添加到视图上
self.view.addSubview(pickerView)
//指定数据源
pickerView.dataSource = self
//指定代理
pickerView.delegate = self
//创建2个数组
authorsArray = ["刘明洋","汪鸿俊","任小蕾"]
appsArray = ["租房点评","哪里逃","AllOff","iJump","数独"]
//常用的一些属性和方法介绍
}
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.
}
*/
// MARK: - UIPickerViewDataSource
//返回多少列
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int
{
}
//每一列返回多少行
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int
{
//第1列返回authorsArray的个数
{
return authorsArray.count
}
//第2列返回appsArray的个数
{
return appsArray.count
}
}
// MARK: - UIPickerViewDelegate
//通过字符串来创建选择控制器
// func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!
// {
// //第1列返回authorsArray对应的值
// if component == 0{
// return authorsArray[row]
// }
//
// //第2列返回appsArray对应的值
// else if component == 1 {
// return appsArray[row]
// }
//
// return ""
// }
//通过View来创建带有图片的选择控制器
func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView!) -> UIView
{
var view:UIView = UIView(frame: CGRectMake(, , , ))
//创建图像视图
var imageView = UIImageView(frame: CGRectMake(, , , ))
imageView.image = UIImage(named: "cellImage.png")
//创建文本标签
var label:UILabel = UILabel(frame: CGRectMake(, , , ))
//第1列返回authorsArray对应的值
{
label.text = authorsArray[row]
}
//第2列返回appsArray对应的值
{
label.text = appsArray[row]
}
//添加图像
view.addSubview(imageView)
//添加文本标签
view.addSubview(label)
return view
}
//选项改变后,触发代理事件
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
println("当前选择的是第\(component)列 第\(row)行")
}
iOS开发——UI篇Swift篇&UIPickerView的更多相关文章
- 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循环的写法 最常规写法 // 传统写法 ...
随机推荐
- linux c编程 -- 线程互斥
#include <stdio.h> #include <pthread.h> #include <unistd.h> #include <stdlib.h& ...
- 第三次阅读赵炯博士的《linux内核代码完全注释》:序
这是我第三次阅读linux内核代码完全注释了,当然前两次也没有读完,第一次读到第五章,第二次第七章. 所以说,赵炯博士对我最大的帮助时介绍了intel386的结构,以及内核编程的方法. 至于真正的内核 ...
- HDU2648:Shopping(DKBR_hash)
题目链接 题意: 给出n个字符串,接下来m天,每天每个字符串要增加对应的值,询问“memory”每天的排名 分析: 用hash表hash出每个字符串对应得值,然后放入二维数组(防止地址冲突),m天,输 ...
- cc.RepeatForever和cc.Spawn冲突
正确 var tmpShip3 = cc.Sprite.createWithSpriteFrameName("w1_1.png"); tmpShip3.setPosition(,) ...
- 在VS2012中实现Ext JS的智能提示
Visual Studio 2012太强大了,居然能自己会去提取Ext JS的类的属性和方法,从而实现只能提示.下面就来介绍一下实现这个功能. 在Visual Studio 2012中随便创建一个We ...
- 理解js闭包(二)
@(编程) 一.什么是闭包? 官方"的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 相信很少有人能直接看懂这句话,因为他 ...
- ACM之数学题
数学题,始终记得,第一次被带飞师大校赛以及省赛,毫无例外的在数学题上卡死....因此,现在开始,有意识的保留遇见的数学题...(下列知识点按遇见先后顺序排列: 1欧拉公式 欧拉公式的用处是,找出小于N ...
- 如何检查oracle的归档空间是否满了?
如何检查oracle的归档空间是否满了? 关于如何检查归档空间是否慢了,大多数人会去先检查放归档的目录的磁盘空间是否满了,通过该归档目录空余情况来判断归档空间是否满了,但我觉得这个方法不一定代表实际情 ...
- Android系统默认设置
修改Settings源码,可修改系统设置项,Settings数据被存放于com.android.providers.settings/databases/settings.db中,如果想修改系统启动后 ...
- 配置Redis主从复制
[构建高性能数据库缓存之redis主从复制][http://database.51cto.com/art/201407/444555.htm] 一.什么是redis主从复制? 主从复制,当用户往Mas ...