I have TransparentUIView on top of RedOrGreenUIView. TransparentUIView has a UILongPressGestureRecognizer attached to it. Once user begins a long touch on it, I check for .C
Swift 4 version :
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool { for subview in YourView.subviews as [UIView] { if !subview.isHidden && subview.alpha > 0 && subview.isUserInteractionEnabled && subview.point(inside:point, with: event) { return true } } return false }