老虎机相信大家都知道,像一组滚轴,而我们选中其中的某一组值。ios的闹钟选择时间的时候就是这么设计的。在storyboard中拖拽一个pickerview,显示如下:

pickerView是没法选择默认值的,图中的几个字符都是和苹果相关的地名,如要设置我们只能去代码中设置。我们来做一个有三个部分的老虎机,每一部分下面有一个标签,来显示选中的内容。分别拖拽到控制器中建立联系:

然后回到storyboard中,选中pickerview,把右侧的outlets与viewcontroller连接起来:

那么数据从哪来呢,我们回到代码中,首先依旧需要手动把继承的协议加上:

class ViewController: UIViewController,UIPickerViewDataSource,UIPickerViewDelegate 

加上之后你会发现会报错,那是因为你光继承却没有实现它的回调方法,就像tableView一样,如果控制器继承了数据源,那么就必须实现那些规定行数等等的方法。

先来定义一个显示内容的数组:

let citys = ["北京","上海","广州"]

然后定义回调方法:

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {return citys.count}func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {return citys.count}func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {return citys[row]}

分别代表有三个部分,每个部分三行,每行的标题。运行效果如下:

现在我们来加上标签的现实功能,让它们显示我们在老虎机中选择的城市:

 func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {switch component{case 0: label0.text = citys[row]case 1: label1.text = citys[row]default:label2.text = citys[row]}}//选择了哪一行哪一部分

效果如图:

swift UI专项训练15 PcikerView老虎机视图相关推荐

  1. swift UI专项训练5 定制视图控制器

    我们现在已经添加了两个场景了,尽管我们有默认的视图控制器,但是我们还是想自己定制一下自己的控制器,我们之前一直在storyboard上做操作,现在来些一些代码. 在工程目录中右键选择new fie,在 ...

  2. swift UI专项训练39 用Swift实现摇一摇功能

    微信的摇一摇功能想必大家都用过.过春节的时候抢红包也没少摇吧.那么用swift语言怎样实现这么酷炫的功能呢.摇动属于IOS内置可识别的一种动作,在你须要实现摇动功能的viewcontroller中,在 ...

  3. Swift UI专项训练7 数据添加

    上一话我们使用了自己定义的控制器之后发现tableview上的餐馆没有了,这一话我们来添加数据,新添加一个餐馆类,这个类我们不需要继承系统的类,直接添加一个swift文件就好 import Found ...

  4. swift UI专项训练4 场景过渡-转场

    上一话中我们创建了两个场景,这一话我们想要实现两个场景间的过渡.我们只需要增加一个导航条.选中我们上一话中创建的Table View Controller,点击工具栏上面的editor,选择Embed ...

  5. swift UI专项训练20 WebView浏览器

    WebView就是一个HTML浏览器,用来显示网页,webView的属性如图: Scaling中如果勾选了后面的话,那么打开的网页会根据webView的尺寸来调整尺寸.Phone Numbers会跟踪 ...

  6. swift UI专项训练21 网页浏览器

    网页浏览器不同于上一话的webview,我们的网页浏览器不要求用户输入前面的HTTP,并且能实现自动布局,这一话的内容是前几话的总结.新建一个工程,然后拖拽一个text label,我们来看下右下角的 ...

  7. 以mips为单位衡量微型计算机的性能,2016计算机二级《MS Office》选择题专项训练...

    2016计算机二级<MS Office>选择题专项训练 1.汉字的区位码由一汉字的区号和位号组成.其区号和位号的范围各为______. A.区号 1-95 位号 1-95 B.区号 1-9 ...

  8. 计算机一级wps选择题必背知识点,计算机一级考试wps选择题专项训练

    选择题是计算机一级考试的重要题型,为了帮助考生备考计算机一级考试的wps科目,下面学习啦小编为大家带来计算机一级考试wps选择题专项训练,欢迎考生备考练习. 计算机一级考试wps选择题专项训练1: 1 ...

  9. swift UI 学习 (一)

    swift UI 学习 Swift UI 简介 SwiftUI 的特点是什么 1. 声明式语法 2. 拥有更直观的新设计工具 3. 为所有的苹果设备提供原生体验 SwiftUI 代码实例 Swift ...

最新文章

  1. 将时间保存到pb_Nature Geoscience:沉积岩容矿Cu-Pb-Zn矿床受控于克拉通边缘稳定性...
  2. 商汤招股书详解:40名教授250+博士3593位工程师,AI收入亚洲第一,一年15亿研发工资支出...
  3. Linux常用命令(简单的常用)
  4. USACO1.4.2(The clocks)BFS
  5. golang延时_golang 实现延迟消息原理与方法
  6. 带界面的OCX制作实例
  7. 【刷题】HDU 4966 GGS-DDU
  8. U811.1接口EAI系列之二-BOM构成-委外BOM构成--VB语言
  9. 【LeetCode】汉明距离(Hamming Distance)
  10. 关于郭天祥51开发板无法烧敲代码问题的解决(Prolific USB-to-Serial Comm Port)
  11. 电脑手写输入法_5款好用的拼音输入法软件推荐
  12. wordpress博客加载缓慢解决:去除Open Sans和Lato 字体
  13. I2C总线协议/地址详解
  14. C语言二维数组及指针引用
  15. ​Win10磁盘管理​
  16. 网站数据被入侵怎么办 如何防止网站数据库被攻击 被篡改
  17. jquery提示sucess
  18. Fairplay流程
  19. MS VS+HIK海康机器人工业相机环境配置
  20. pcb只开窗不镀锡_阻焊开窗加强散热这种做法是伪科学还是真科学

热门文章

  1. oracle迁移 rman,ORACLE RMAN迁移
  2. 文件fluent_Win10 中解决FLUENT中UDF 的方法
  3. python输入的方式有几种_Python输入方式具体的三种实现方式
  4. vs2015移植linux编译,windows平台移植(原linux项目)时,用vs2015开发,碰到的问题及处理方案记录...
  5. ajax php cookie,php setcookie没有使用ajax调用
  6. Node.js babel
  7. pytorch_basics Save and load model
  8. Java Spring 异常处理
  9. apscheduler
  10. php图片滑动的属性,JavaScript_javascript图片滑动效果实现,本文为大家分享了javascript图片 - phpStudy...