入门篇中的label控件是最基础的展示控件,本篇介绍该控件和代码关联,在代码中可以动态修改label文本属性。
定义变量
首先打开工程中ViewController.swift文件,初始代码如下:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view,typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
其中方法viewDidLoad方法为程序运行之后会执行的方法。
在定义变量的地方,定义label控件类型的变量,如下:
@IBOutlet weak var label: UILabel!//其中label即是变量名称
定义了UILabel类型的变量,控件类型可以通过如下方式查看:
变量和控件关联
如下图:
可看到关联Outlets项中有个圆圈,鼠标放上去看到一个“+”号,然后按住左键拖动到View中,如下图:
在弹出的选择框中会发现刚刚定义变量label,选择“label”即可,此时就完成了关联。关联之后可看到label控件的关联关系改变,如下图:
注意如果该视图下没有关联关系,表示关联关系没有建立,如果此时去使用label变量,就会报如下错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
2017-10-27 17:48:03.189566+0800 HelloWordApp[4155:455152] fatal error: unexpectedly found nil while unwrapping an Optional value
代码控制控件
完成关联之后,就可以对控件进行动态修改属性了。定义如下方法:
func changeLabel(){
print("label text before change:" + label.text!)
label.text = "change"
print("label text after change:" + label.text!)
}
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view,typically from a nib.
changeLabel()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func changeLabel(){
print("label text before change:" + label.text!)
label.text = "change"
print("label text after change:" + label.text!)
}
}
然后点击运行之后,运行效果如下图:
至此控件和代码关联完成。