【问题标题】:Automatically create Swift UILabels programmatically以编程方式自动创建 Swift UILabel
【发布时间】:2015-02-09 10:04:56
【问题描述】:

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

到目前为止,我有下面的代码,但它在一个标签中显示我的数据(解析时数组中的字符串)。我需要一种动态方法来创建具有不同名称的新标签,但不知道如何执行此操作。目前这是我的代码。我有一个“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 并使用新名称,但是我怎样才能动态地做到这一点,有什么建议吗?

【问题讨论】:

  • 每次创建标签都可以使用UILabel的标签值

标签: ios swift


【解决方案1】:

标签的名称无关紧要。每次循环迭代都会重置间隔变量。移动这一行:

var spacer: CGFloat = 50

之前:

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

一切都会好的。

【讨论】:

  • @user3438980 这与您创建不同标签的每个循环迭代都不同。那么方法将是相同的。
  • 谢谢格雷格,我不敢相信我错过了!
猜你喜欢
  • 2013-07-22
  • 2014-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-04
相关资源
最近更新 更多