首页 > 解决方案 > Swift TapGestureRecognizer 和 UIButton

问题描述

我是 Swift 新手,所以对于任何类型的错误,我深表歉意。在我的视图控制器中,我有一个视图 CanvasView,我希望用户单击一个按钮并在点击的位置添加一个形状。我创建了一个名为 ShapeSquare 的 uiview,我有三个具有三种不同形状的按钮。不幸的是,我不明白我错在哪里。这只是代码的一部分。任何建议将不胜感激!

@IBOutlet weak var CanvasView: CanvasView!


override func viewDidLoad() {
    super.viewDidLoad()


    let tapGR = UITapGestureRecognizer(target: self, action: Selector(("didTap")))
    tapGR.numberOfTapsRequired = 1
    CanvasView.isUserInteractionEnabled = true
    CanvasView.addGestureRecognizer(tapGR)

}
func didTap(tapGR: UITapGestureRecognizer) {
    let tapPoint = tapGR.location(in: CanvasView)
    let shapeView = ShapeSquare(origin: tapPoint)
    CanvasView.addSubview(shapeView)

}


@IBAction func SquareShape(_ sender: UIButton) {
    CanvasView.setNeedsDisplay()       
}

标签: iosswift

解决方案


1-

let tapGR = UITapGestureRecognizer(target: self, action: #selector(didTap(_:)))

2-

@objc func didTap(_ tapGR: UITapGestureRecognizer) {

推荐阅读