【发布时间】:2019-08-25 02:42:19
【问题描述】:
我创建了两个按钮,一个用于创建 UILabel,另一个用于删除创建的 UILabel。
在点击 Button1 时,我正在运行一个 for 循环,以创建四 (4) 个 UILabel,我能够做到这一点。
点击 Button2 时,我想删除我使用 Button1 创建的所有 UILabel。
旁注:我不想隐藏 UILabel,因为变量“noOfLabels”可以根据需要从 4 增加到 15 或任何其他数字。
这是我尝试过的。
class ViewController: UIViewController {
var myLabel : UILabel!
var noOfLabels = 4
@IBAction func addButton(_ sender: Any) {
if(myLabel != nil && !myLabel.isHidden)
{
myLabel.removeFromSuperview()
}
print("AddLabel button is Tapped")
var yval = 0
for i in 0...noOfLabels
{
myLabel = UILabel()
myLabel.frame = CGRect(x: 30, y: 200 + yval, width: 90, height: 50)
myLabel.text = "Hello \(i)"
view.addSubview(myLabel)
yval += 80
}
}
@IBAction func removeButton(_ sender: Any) {
print("Remove button is Tapped")
myLabel.removeFromSuperview()
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
使用上面的代码,我只能删除一个标签。
我需要帮助在点击 Button2 时删除所有 UILabel
【问题讨论】:
-
您想在按下添加按钮时只添加一个新标签吗?您想在按下删除按钮时删除最后一个标签还是删除所有标签?
-
您只能删除最后一个标签,因为 myLabel 指向最后一个。请在数组中设置 4 个标签,而不是更改 myLabel。
标签: ios swift uibutton uilabel