如何将 UIButton 上的 UIView 作为点击事件的参数传递
How to pass a UIView on UIButton as a parameter on click event
我使用循环生成了多个 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)
}
我唯一可以传递给 .tag
的数据是 Int
这是我的 onMyButtonClick 函数,用于侦听 UIButton 的点击事件
@objc func onMyButtonClick (sender: UIButton) {
print(sender.tag)
}
我想要做的是有一个像这样工作的点击监听器函数
func clickMe (view: UIView, isOpen: Bool) {
view.isHidden = isOpen
}
您可以为按钮和视图分配相同的标签。
然后你可以通过标签找到视图并隐藏它。
@objc func onMyButtonClick (sender: UIButton) {
print(sender.tag)
if let foundView = view.viewWithTag(sender.tag) {
foundView.isHidden = true
}
}
我使用循环生成了多个 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)
}
我唯一可以传递给 .tag
的数据是 Int
这是我的 onMyButtonClick 函数,用于侦听 UIButton 的点击事件
@objc func onMyButtonClick (sender: UIButton) {
print(sender.tag)
}
我想要做的是有一个像这样工作的点击监听器函数
func clickMe (view: UIView, isOpen: Bool) {
view.isHidden = isOpen
}
您可以为按钮和视图分配相同的标签。
然后你可以通过标签找到视图并隐藏它。
@objc func onMyButtonClick (sender: UIButton) {
print(sender.tag)
if let foundView = view.viewWithTag(sender.tag) {
foundView.isHidden = true
}
}