如何在我重叠的自定义文本视图中添加触摸事件/或手势 - swift ios

How to add touch event / or gesture in my overlapping custom textviews - swift ios

我一直无法让它在我的应用程序中使用手势识别器。

viewDidLoad下我添加了这些

let orangeIndicatorTap = UITapGestureRecognizer(target: self, action: #selector(self.orangeIndicatorClick(_:)))
    orangeIndicatorTap.numberOfTapsRequired = 1
    orangeIndicatorTap.delegate = self

    conceptMiddleOrangeIndicator.tag = 1
    conceptMiddleOrangeIndicator.isUserInteractionEnabled = true
    conceptMiddleOrangeIndicator.addGestureRecognizer(orangeIndicatorTap)

    let greenIndicatorTap = UITapGestureRecognizer(target: self, action: #selector(self.greenIndicatorClick(_:)))
    greenIndicatorTap.numberOfTapsRequired = 1

    conceptMiddleGreenIndicator.isUserInteractionEnabled = true
    conceptMiddleGreenIndicator.addGestureRecognizer(greenIndicatorTap)


    let purpleIndicatorTap = UITapGestureRecognizer(target: self, action: #selector(self.purpleIndicatorClick(_:)))
    greenIndicatorTap.numberOfTapsRequired = 1

    conceptMiddlePurpleColorIndicator.isUserInteractionEnabled = true
    conceptMiddlePurpleColorIndicator.addGestureRecognizer(purpleIndicatorTap)

有没有其他方法可以将点击事件添加到重叠的自定义 uitextview?

您可以使用 touchesBegan 来识别哪个 view 被触摸了。

使用此代码希望对您有所帮助。

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    let touch = touches.first
    if touch.view == yourView_outlet {
    // add your code here
    } else if touch.view == yourView_outlet {
    // add your code here
    }
}

我修复了它,这是因为未正确删除叠加层。

看起来,它明显被删除了,但逻辑上底层的覆盖视图没有被删除。这就是手势不起作用的原因。

希望这对以后的人有所帮助。