王老师先描述了一款APP是如何工作的,APP是由对象组成,对象之间可以相互发送消息,比如触碰按钮弹出一个消息提示框,按钮和消息提示框都是对象,触碰按钮这件事驱动了消息提示框弹出的另一件事,APP所做的每一件事都是由某种事件来驱动的。
继续,在界面上添加滑动条slider控件,问题是如何从slider控件设置滑动条的范围,和滑动上的数字?
王老师先介绍了Cocoa Touch,它是用于iPhone OS 系统应用程序开发,包括Foundation和UIKit框架,Foundation框架是提供构建APP的基本要素,UIKit框架用来创建界面触摸的类,即以UI为前缀的对象。
iOS开发要记住的是UIKit使用point,而不是pixel(像素)(图形图像的设计师需考虑像素)。
在故事板上,选属性观察器(Attribute Inspector),orientation选Lanscape(默认是Portrait肖像表示竖的)。Editor-- Canvas-- 勾选Show Bounds Rectangles ,控件就会有边框,Run后没有,是方便调试用的。选中滑动条在属性里设置最小最大值和当前值,那么如何读取滑动条上的数值呢。
@IBAction func SliderDrag(sender: UISlider) {
println("滑动条的当前值是:\(sender.value)")
}
虽然之前我已经接触过字符串String和变量var,但是王老师的比喻很有趣,字符串就像是用串在一起的珠子,有了变量就有了记忆。
//lroundf()函数,将float四舍五入得到一个整数
currentValue = lroundf(sender.value)
区别函数和方法的有趣比喻是,函数是独立的生命体,方法是寄生体,离不开宿主对象。
遇到一个(Bug)虫子,刚刚Run后马上点击Hit Me!按钮,弹出提示“滑动条的当前值是:0”,这与滑动条默认值为50不相符。
我的解决方法是改为var currentValue = 50,继续阅读,好吧,和王老师的修改方法一样,每次修改会很麻烦,可不可以智能一些,考虑有没有方法可以使得currentValue在开始时自动把滑动条的默认值赋值过来呢。
果然,在06篇王老师采用在viewDidLoad()函数里进行currentValue初始化设置,注意要先把slider变量和UISlider对象关联起来。
最后提到Xcode用Tab方法建立多个子界面,具体的是按下shift+option,点击文件要打开的文件,出现如下图,点击“+”就可以添加Tab了。