我有一个包含标签的视图,并有一个更改标签值的按钮。不是在按钮中逐个更改值,而是如何重新加载整个视图以更新标签。
@IBOutlet weak var one: UILabel!
@IBOutlet weak var two: UILabel!
@IBOutlet weak var three: UILabel!
....
@IBOutlet weak var updateLabels: UIButton!{
//doing something to change the value of the labels
//then wanna reload the whole view
viewDidLoad()
}
我调用了viewDidLoad()方法,但没有用。
答案 0 :(得分:3)
你不应该自己打电话给viewDidLoad
。它是操作系统调用的框架功能,表示您的视图已准备好进行设置。
如果你分开你的功能
会更好func updateLabels() {
one.text = "one"
two.text = "two"
three.text = "three"
}
现在您可以根据需要调用updateLabels
功能。
答案 1 :(得分:0)
为什么不在方法上放置所有标签。当你需要重新加载时发射它。
override func viewDidLoad() {
super.viewDidLoad()
updateLabels()
}
func updateLabels() {
one.text = "one"
two.text = "two"
three.text = "three"
}
@IBAction func updateLabels(_ sender: Any) {
updateLabels()
}
答案 2 :(得分:-1)
更新标签的方法不正确。您需要做的是:
声明您的标签,确保它们在Interface Builder中链接:
//Declare The Labels
@IBOutlet var one: UILabel!
@IBOutlet var two: UILabel!
@IBOutlet var three: UILabel!
然后创建一个由UIButton:
触发的IBAction函数/// Set The Text Labels Text
@IBAction func updateLabelText(){
//Set Label Text
one.text = "one"
two.text = "two"
three.text = "three"
}
当然记得将它链接到Interface Builder中的UIButton实例。
希望这有帮助。