我想根据需要自动在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,但是如何动态地执行此操作,任何建议?
答案 0 :(得分:2)
标签的名称无关紧要。您在每次循环迭代时重置spacer变量。移动这一行:
var spacer: CGFloat = 50
之前:
for comments in object["Comments"] as NSArray {
它应该都很好。