0

我使用循环生成了多个 UIButton 和 UIView,问题是,我希望在单击生成的 UIButton 时隐藏生成的 UIView,

问题是,如何在 UIButton 点击​​事件上传递 UIView,以便系统知道将隐藏什么 UIView

这是我生成 UIButtons 和 UIViews 的代码

for (key, value) in myStringsArray {
     let myButton = UIButton()
     let myView = UIView()

     panelButton.tag = value
     panelButton.addTarget(self, action: #selector(onMyButtonClick), for: .touchUpInside)
}

我可以传递的唯一数据.tagInt

这是我的 onMyButtonClick 函数,它监听 UIButton 的点击事件

@objc func onMyButtonClick (sender: UIButton) {
     print(sender.tag)
}

我想要做的是有一个像这样工作的点击监听器功能

func clickMe (view: UIView, isOpen: Bool) {
     view.isHidden = isOpen
}
4

1 回答 1

2

您可以为按钮和视图分配相同的标签。

然后您可以通过标签找到视图并将其隐藏。

@objc func onMyButtonClick (sender: UIButton) {
     print(sender.tag)
     if let foundView = view.viewWithTag(sender.tag) {
        foundView.isHidden = true
    }
}
于 2020-03-19T13:28:02.420 回答