【问题标题】:How to pass a UIView on UIButton as a parameter on click event如何将 UIButton 上的 UIView 作为单击事件的参数传递
【发布时间】:2020-03-19 13:20:37
【问题描述】:

我使用循环生成了多个 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
}

【问题讨论】:

    标签: swift uiview uibutton click touch-up-inside


    【解决方案1】:

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

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

    @objc func onMyButtonClick (sender: UIButton) {
         print(sender.tag)
         if let foundView = view.viewWithTag(sender.tag) {
            foundView.isHidden = true
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-03
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 2011-11-06
      • 2022-08-03
      • 1970-01-01
      相关资源
      最近更新 更多