在其父视图中重写pointinside方法如下:

    override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {

        if self.bounds.contains(point) {

            return true

        }

        for subView:UIView in self.subviews {

            let hitPoint = self.convert(point, to: subView)

            if subView.bounds.contains(hitPoint) {

                return true

            }

        }

        return false

    }

判断如果点击范围在view的子视图上时仍然返回true.使子视图能接收到相应的事件.