点击测试旋转视图

时间:2018-10-03 13:16:28

标签: ios swift rotation cgpoint

我需要编写一个function,如果给定的truepoint的{​​{1}}中,则返回subviews hierarchyview A可以A(旋转),并且已禁用transformed。它的子视图也可以禁用clipToBounds,如果点击了clipToBounds中的任何一个,则必须返回true。我有一些几乎可以使用的东西,但是在旋转视图时会失败。有人可以建议如何解决此问题吗?

subviews

1 个答案:

答案 0 :(得分:0)

我知道它应该很容易,但是无法使其工作。我犯了一个愚蠢的错误-我的代码是添加子层而不是子视图。当我切换到子视图时,一切正常:

func viewOrSubviewsContaintPoint(_ point: CGPoint) -> Bool {
    let convertedPoint = convert(point, from: superview)
    let containsPoint = bounds.contains(convertedPoint)

    var subviewsContainsPoint: Bool {
        return subviews.contains { $0.viewOrSubviewsContaintPoint(convertedPoint) }
    }

    return containsPoint || subviewsContainsPoint
}