【问题标题】:How to make a new UILabel every time a UIButton is pressed?每次按下 UIButton 时如何制作新的 UILabel?
【发布时间】:2019-05-15 08:47:22
【问题描述】:

我想在我的程序中添加一个函数,以便每次按下按钮时都会创建一个新标签,我认为最好的方法是创建一个 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' 类型的值没有下标"

【问题讨论】:

  • 你的问题还不清楚。你到底想要什么?想要创建标签并添加到数组或什么?

标签: ios arrays swift uilabel


【解决方案1】:

你可以试试

 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
 }

【讨论】:

    【解决方案2】:
     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
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      • 2017-07-24
      • 1970-01-01
      相关资源
      最近更新 更多