如何更改动态创建的标签的属性

时间:2017-05-31 13:49:57

标签: ios swift uilabel

我从数组中创建了几个标签。在某些步骤中,我必须更改标签的x和y坐标,但不知道如何处理标签:

for zone in zoneArray {

        let zoneLabel = UILabel(frame: CGRect(x: locationX, y: locationY, width: 150, height: 75))

        zoneLabel.backgroundColor = UIColor.lightGray
        zoneLabel.layer.masksToBounds = true
        zoneLabel.layer.cornerRadius = 10
        zoneLabel.text = zone}
如果有人可以帮助我,我会非常高兴。

3 个答案:

答案 0 :(得分:1)

也许您可以为每个标签添加标签,并使用标签本身找到所需的标签......

var i = 1
for zone in zoneArray {
    let zoneLabel = UILabel(frame: CGRect(x: locationX, y: locationY, width: 150, height: 75))
    let zoneLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 150, height: 75))
    zoneLabel.backgroundColor = UIColor.lightGray
    zoneLabel.layer.masksToBounds = true
    zoneLabel.layer.cornerRadius = 10
    zoneLabel.text = zone
    zoneLabel.tag = i
    i += 1 
}

答案 1 :(得分:1)

最简单的方法是在VC中声明一个UILabel数组

var labels = [UILabel]()

然后在你的for循环中附加到它上面。

答案 2 :(得分:0)

以编程方式创建此类标签时需要考虑的两个步骤。

第1步:

制作标签就像Lou Franco先生所说的那样。

var labels = [UILabel]()

第2步:

进行必要的着色或发短信。

重要提示:请勿像您所做的那样设置框架。如果要为所有设备设计约束,请以编程方式添加约束。即,以编程方式使用自动布局。

以编程方式进行自动布局有三种方法。但我喜欢布局锚定。因为它很容易。只要跳到它就会喜欢它。