这个简单APP是用swfit1.2写的,主要重点是:1.点击键盘return键可退出键盘。 2.各个控件值的传递。

Storyboard界面设计:

View代码:

 import UIKit

 class ViewController: UIViewController ,UITextFieldDelegate{

     @IBOutlet weak var name: UITextField!
@IBOutlet weak var gender: UISegmentedControl!
@IBOutlet weak var birthday: UIDatePicker!
@IBOutlet weak var heightNumber: UISlider!
@IBOutlet weak var height: UILabel!
@IBOutlet weak var hasProperty: UISwitch!
@IBOutlet weak var result: UITextView! override func viewDidLoad() {
super.viewDidLoad()
name.delegate = self//点击return退出键盘
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
} @IBAction func heightChanged(sender: AnyObject) {
var slider = sender as! UISlider
var i = Int(slider.value) //Float转换为Int
slider.value = Float(i) //转换操作
height.text = "\(i)厘米" //随着滑块改变label的值
} @IBAction func okTapped(sender: AnyObject) {
let genderText = gender.selectedSegmentIndex==0 ? "高富帅" : "白富美"
let gregorian = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
let now = NSDate()
birthday.maximumDate = NSDate()//防止年龄为负数
let components = gregorian?.components(NSCalendarUnit.CalendarUnitYear, fromDate: birthday.date, toDate: now, options: NSCalendarOptions(0))//计算年龄 let age = components!.year//得到年龄
let hasPropertyText = hasProperty.on ? "有房":"没房" //switch值的数据 result.text = "\(name.text),\(age)岁,\(genderText),身高\(height.text!),\(hasPropertyText),求交往!" } //UITextFiledDelegate,点击return使键盘退出
func textFieldShouldReturn(textField: UITextField) -> Bool{
textField.resignFirstResponder()
return true
}
}

在这代码里需要注意的是,由于swift语言的改变,需要在age和height.text的赋值或显示中在其后加上!,否则会报错。

运行效果:

github地址:https://github.com/AbelSu131/Xiangqin

相亲神器记录Swift1.2的更多相关文章

  1. Linux终端记录神器

    我们在调试程序的时候,免不了要去抓一些 log ,然后进行分析.如果 log 量不是很大的话,那很简单,只需简单的复制粘贴就好.但是如果做一些压力测试,产生大量 log ,而且系统内存又比较小(比如嵌 ...

  2. 如何记录分析你的炼丹流程—可视化神器Wandb使用笔记【1】

    本节主要记录使用wandb记录训练曲线以及上传一些格式的数据将其展示在wandb中以便分析的方法,略过注册安装部分(可使用pip intall wandb安装,注册相关issue可上网搜索),文章着重 ...

  3. 前端自动化神器gulp使用记录

    1.安装压缩图片插件的时候,由于网络原因,死活安装不成功.由于imagemin本身就包含很多插件,安装的时候卡住了,很是郁闷.如果要压缩png图片,那就单独安装imagemin-pngquant压缩插 ...

  4. http请求抓包神器-Fiddler(记录和检查你电脑的所有http通讯)

    Fiddler是做什么的,能帮助我们做什么? 1.能够监听http/httpS的流量,可以截获从浏览器或者客户端软件向服务器发送的http/https请求: 2.对截获之后的请求,我们还能够查看请求中 ...

  5. Chrome神器Vimium快捷键学习记录

    今天下午折腾了一下Chrome下面的一个插件Vimium的使用,顿时发现该插件功能强大,能够满足减少鼠标的使用.至于为何要使用这个插件,源于我手腕上的伤一直没有好,使用鼠标的时候有轻微的疼痛.而且,由 ...

  6. vue学习记录(一)—— vue开发调试神器vue-devtools安装

    网上有些贴子少了至关重要的一步导致我一直没装上, 切记!!install后还需build,且install和build都在vue-devtools文件夹内执行 github下载地址 点击跳转 具体步骤 ...

  7. 【记录一个问题】MariaDB 10.1.9 中with rollup的神器问题

    我想统计每天数据的处理状态的汇总,于是写了这样一条语句: 1 select * from ( 2 select ifnull(date(update_time),'_30天汇总') as dtm, i ...

  8. 记录我这一年的技术之路(nodejs纯干货)

    2015年12月28日23:19:54 更新koa应用.学习型网站和开发者工具等 coding伊始 开始认认真真的学习技术还是2015.10.21日开始的,记得很清楚,那天,是我在龙湖正式学习的第一天 ...

  9. 跳入linux的第一个坑-因为安装Ubuntu导致的硬盘被误格的恢复.(记TestDisk使用记录)

    不看废话,直接跳到操作说明 前几日心血来潮想把家中的旧笔记本换成Linux操作系统,算是在业余生活中正式投入Linux的怀抱.说干就干,发行版选择了Ubuntu,下载了Ubuntu16.04的ISO, ...

随机推荐

  1. 设计模式原则(1)--Single Responsibility Principle(SRP)--单一职责原则

    1.定义: 不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责.  2.使用场景: 如果类A有两个职责:d1,d2.当职责d1需要修改时,可能会导致原本运行正常的职责d2功能产生问题. ...

  2. TensorFlow Saver 保存最佳模型 tf.train.Saver Save Best Model

      TensorFlow Saver 保存最佳模型 tf.train.Saver Save Best Model Checkmate is designed to be a simple drop-i ...

  3. Android studio Connection failed (dl.google.com)

    公司的网,莫名其妙的不能更新了,却可以下载compile文件... 于是乎FQ,hosts,修改studio.exe.vmoptions文件 然并卵,都特么不行 搞了一天还是不行 这种问题或许可以找到 ...

  4. nodejs设置NODE_ENV环境变量(2)

    引的人家的,原文地址:http://sorex.cnblogs.com/p/6200940.html 环境变量 环境变量是操作系统运行环境的一些参数.在开发环境或者部署环境中都需要使用到.本文讲述了使 ...

  5. mongodb2.X添加权限

    1.连接mongodb数据库(如果mongo命令没有做环境变量配置,需要定位到有mongo命令的目录) root@AY140709212620347s22Z:~# mongo MongoDB shel ...

  6. CSS 小结笔记之BFC

    BFC 即为Block formatting context 的缩写,BFC 主要用来将一个盒子设置为一个隔离的容器,不管盒子内部的元素具有什么属性,都不会影响到盒子的外面. 1.哪些元素能产生BFC ...

  7. LeetCode题解之Copy List with Random Pointer

    1.题目描述 2.问题分析 首先要完成一个普通的单链表的深度复制,然后将一个旧的单链表和新的单链表的节点使用map对应起来,最后,做一次遍历即可. 3.代码 RandomListNode *copyR ...

  8. android编写测试类

    由于网上很多教程,我就不多说.在这里我就说说我遇到的问题. 在android studio编写单元测试类中,在androidTest包下编写了两个类,分别如下 import junit.framewo ...

  9. .net core项目初建

    电脑装Visual Studio2017,并升级版本.启动一个.net core 的项目. NET Core基本介绍 1.1 什么是ASP.NET Core ASP.NET Core 是一个全新的开源 ...

  10. 运维安全之Tripwire

    转自网络 Tripwire是最为著名的unix下文件系统完整性检查的软件工具,这一软件采用的技术核心就是对每个要监控的文件产生一个数字签名,保留下来. 当文件现在的数字签名与保留的数字签名不一致时,那 ...