每次按下UIButton时如何制作新的UILabel?

时间:2019-05-15 08:47:22

标签: ios arrays swift uilabel

我想在程序中添加一个函数,以便每次按下按钮时都会创建一个新标签,我认为最好的方法是使用大小可变的UILabel类型的数组,并向其中添加一个元素。每次按下按钮时都会使用一个数组(一个UILabel),但是我不确定如何执行此操作。

我尝试过:

var consoleLbl = [UILabel] ()
@IBAction func pushButton(sender: UIButton) {
    consoleLbl[0] = UILabel()
    consoleLbl.frame = CGRect(x:10, y:10, width:10, height:10)
}

但是,出现以下错误: “可选类型'UILabel的值?”必须解包以引用已包装基本类型“ UILabel”的成员“下标”” 如果我加上一个“?”要么 ”!”正如它暗示的那样,我得到了错误: “'UILabel'类型的值没有下标”

2 个答案:

答案 0 :(得分:0)

您可以尝试

 var consoleLbl = [UILabel]()
 var y = 0
 @IBAction func pushButton(sender: UIButton) {
     let lbl = UILabel() 
     lbl.frame = CGRect(x:10, y:y, width:10, height:10)
     lbl.text = "\(y)"
     consoleLbl.append(lbl)
     view.addSubview(lbl)  
     y += 20
 }

答案 1 :(得分:0)

 var consoleLbl = [UILabel]()
 var x = Int()
 x = 0

 @IBAction func pushButton(sender: UIButton) {
     let lbl = UILabel() 
     lbl.frame = CGRect(x:x, y:10, width:10, height:10)
     lbl.text = "\(x)"
     consoleLbl.append(lbl)
     view.addSubview(lbl)  
     x += 20 // 10 is width & 10 is gap between two label
 }