如何在swift中将UIlabel属性重置为默认设置

时间:2017-12-14 16:25:53

标签: ios swift

我创建了一个名为 etiket Debug.Print。然后我创建了一个动作按钮,我对其进行了颜色更改等更改。这是一个样本:

UIlabel

然后我又创建了一个动作按钮,现在当我按下按钮时,我想将@IBAction func changeColor(_ sender: Any) { etiket.textColor = UIColor.red 重置为默认设置。

我试过这个方法

UIlabel

当我尝试这种方法时,@IBAction func sifirla(_ sender: Any) { etiket.text = "nil" 完全消失了。

如何将UIlabel属性重置为默认设置? 我做了一些研究,但我找不到我想要的东西。

1 个答案:

答案 0 :(得分:0)

您需要动态创建标签并为其指定标签值。

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方法中,您需要按标签值获取标签并将其从超级视图中删除并创建新标签并将其添加到当前视图中,因此通过添加新的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)
    }
}

注意:如果您使用autolayout,则需要将约束设置为label而不是frame。