我创建了一个名为 etiket 的 UIlabel
。然后我创建了一个操作按钮,并对其进行了颜色更改等更改。这是一个示例:
@IBAction func changeColor(_ sender: Any) {
etiket.textColor = UIColor.red
然后我再次创建了一个操作按钮,现在当我按下按钮时,我想将 UIlabel
重置为默认设置。
我试过这个方法
@IBAction func sifirla(_ sender: Any) {
etiket.text = "nil"
当我尝试这个方法时UIlabel
完全消失了。
如何将 UIlabel
属性重置为默认设置?
我做了一些研究,但找不到我想要的。
您需要动态创建标签并为其分配标签值。
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/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |