gpt4 book ai didi

ios - 检查 CGRect 是否与 CGRect 数组相交

转载 作者:搜寻专家 更新时间:2023-11-01 05:53:44 26 4
gpt4 key购买 nike

在初始化 CGRect 之前,我试图查看 CGRect 是否与数组中的任何其他 CGRect 相交,但我我还没有找到有效的万无一失的方法。

请注意,交集是 CGRect 的数组。任何关于如何做到这一点?下面的方法有时不起作用,生成的 CGRect 与数组中的一个相交我不确定我遗漏了什么。

for element in intersection {
while CGRectIntersectsRect(rect1, element) {
xTemp = CGFloat(arc4random_uniform(UInt32(screenSize.width - buttonWidth1)))
yTemp = CGFloat(arc4random_uniform(UInt32(screenSize.height - buttonWidth1)))
rect1 = CGRect(x: xTemp, y: yTemp, width: buttonWidth, height: buttonWidth)
}
}

最佳答案

您可以使用 CGRectIntersectsRect :

let doesIntersect = arrayOfRects.reduce(false) {
return $0 || CGRectIntersectsRect($1, testRect)
}

或者(感谢 Martin R 的建议),您可以使用 contains 方法代替 reduce:

let doesIntersect = arrayOfRects.contains { CGRectIntersectsRect($0, testRect) }

关于ios - 检查 CGRect 是否与 CGRect 数组相交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34754048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com