【问题标题】:UITapGestureRecognizer not working on UIView in Swift [duplicate]UITapGestureRecognizer 在 Swift 中的 UIView 上不起作用 [重复]
【发布时间】:2021-08-28 02:21:06
【问题描述】:
private let myView: UIView = {
    let view = UIView()
    view.backgroundColor = .color(fromHexString: "EDF1F4")
    view.layer.cornerRadius = 15
    view.layer.masksToBounds = true
    view.layer.borderWidth = 2
    view.layer.borderColor = UIColor.color(fromHexString: "FFFFFF").cgColor
    
    // click event
    let tap = UITapGestureRecognizer(target: self, action: #selector(myViewTapped))
    tap.numberOfTapsRequired = 1
    view.isUserInteractionEnabled = true
    view.addGestureRecognizer(tap)
    
    return view
}()

如您所见,我添加了背景颜色,因此背景不透明,并且我还添加了isUserInteractionEnabled = true

但这是行不通的。

【问题讨论】:

    标签: swift uikit swift5


    【解决方案1】:

    上面第一行代码的问题。我的意思是声明 myView. 使用private lazy var myView: UIView = { ... } 而不是private let myView: UIView = { ... } 将解决问题。

    我遇到过这个问题,所以我认为其他人可能也会遇到同样的问题。所以我发布了这个。 谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-19
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多