以编程方式自动创建Swift UILabels

时间:2015-02-09 10:04:57

标签: ios swift

我想根据需要自动在swift中创建UILabel。即如果我的数据库请求返回4个值,我想要4个标签,如果它返回1个值,我想要1个标签......。

到目前为止,我有下面的代码,但它在一个标签中显示我的数据(解析时数组中的字符串)。我需要一种动态的方法来创建具有不同名称的新标签,但我不知道如何做到这一点。目前这是我的代码。我有一个' spacer'我希望变量可以将下一个检索到的数据推送到50px以下的标签中,但它只是将同一UILabel中的所有数据推送到50以下。

for comments in object["Comments"] as NSArray {
     var counter = ""   
     println(comments)
     counter = comments as String

       var spacer: CGFloat = 50
        var label = UILabel(frame: CGRectMake(0, 0, 200, 21))
        label.center = CGPointMake(160, 300 + spacer )
        label.textAlignment = NSTextAlignment.Center
        label.text = counter
        self.view.addSubview(label)
        spacer = spacer + 50
   }

我想我需要为每个标签(label1,label2..ect)创建一个新名称的新UILabel,但是如何动态地执行此操作,任何建议?

1 个答案:

答案 0 :(得分:2)

标签的名称无关紧要。您在每次循环迭代时重置spacer变量。移动这一行:

var spacer: CGFloat = 50

之前:

for comments in object["Comments"] as NSArray {

它应该都很好。