我创建了一个名为 etiket 的 UIlabel 。然后我创建了一个操作按钮,并对其进行了颜色更改等更改。这是一个示例:
@IBAction func changeColor(_ sender: Any) {
etiket.textColor = UIColor.red
然后我再次创建了一个操作按钮,现在当我按下按钮时,我想将 UIlabel 重置为默认设置。
我试过这个方法
@IBAction func sifirla(_ sender: Any) {
etiket.text = "nil"
当我尝试这个方法时UIlabel 完全消失了。
如何将 UIlabel 属性重置为默认设置?
我做了一些研究,但找不到我想要的。
Best Answer-推荐答案 strong>
您需要动态创建标签并为其分配标签值。
func createLabel() -> UILabel {
let lbl = UILabel(frame: CGRect(x: 10, y: 10, width: 100, height: 55))
lbl.tag = 101
//set other properties of label
return lbl
}
在 changeColor 方法中,你需要通过标签值获取标签并设置它的颜色。
@IBAction func changeColor(_ sender: Any) {
if let lbl = self.view.viewWithTag(101) as? UILabel {
lbl.textColor = UIColor.red
}
}
在 sifirla 方法中,您需要按标签值获取标签并将其从其 super View 中删除并创建一个新标签并将其添加到当前 View 中,因此通过添加一个新的 UILabel 实例,您将获取标签的默认设置。
@IBAction func sifirla(_ sender: Any) {
if let lbl = self.view.viewWithTag(101) as? UILabel {
lbl.removeFromSuperview()
let newLbl = self.createLabel()
self.view.addSubview(newLbl)
}
}
注意:如果您使用自动布局,则需要将约束设置为标签而不是框架。
关于ios - 如何快速将 UIlabel 属性重置为默认设置,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/47817998/
|