Swift 不与随机CG点相交
我有方法生成随机位置我的UIImageView。某些视图与其他视图相交。我怎么检查这个十字路口?可能在某个数组中写入位置?类似这样的事情-Swift 不与随机CG点相交,swift,intersection,Swift,Intersection,我有方法生成随机位置我的UIImageView。某些视图与其他视图相交。我怎么检查这个十字路口?可能在某个数组中写入位置?类似这样的事情- self.randomArray.append(random) for views in randomArray { let rangeXmin = views.x - widthCoin / 2 let rangeXmax = views.x + widthCoin / 2 let ran
self.randomArray.append(random)
for views in randomArray {
let rangeXmin = views.x - widthCoin / 2
let rangeXmax = views.x + widthCoin / 2
let rangeYmin = views.y - widthCoin / 2
let rangeYmax = views.y + widthCoin / 2
let rangeX = rangeXmin...rangeXmax
let rangeY = rangeYmin...rangeYmax
if rangeX.contains(randomX) || rangeY.contains(randomY) {
print("Intersection")
} else {
print("Not intersection")
}
}
// generate coin place in table
func generateCoinPlace() -> CGPoint {
let widthTableConstant = view.frame.width * 0.89
let heightTableConstant = widthTableConstant * 1.04
let minX = view.center.x - widthTableConstant / 2 + widthCoin / 4
let maxX = view.center.x + widthTableConstant / 2 - widthCoin / 4
let minY = tableImage.center.y - heightTableConstant / 2 + widthCoin / 4
let maxY = tableImage.center.y + heightTableConstant / 2 - widthCoin / 4
let randomX = CGFloat.random(in: minX..<maxX)
let randomY = CGFloat.random(in: minY..<maxY)
let random = CGPoint(x: randomX, y: randomY)
// Add array here
return random
}
谢谢你的帮助。你可以试试这个条件
(rangeX.contains(randomX - widthCoin / 2) || rangeX.contains(randomX + widthCoin / 2)) && (rangeY.contains(randomY - widthCoin / 2) || rangeY.contains(randomY + widthCoin / 2))
是的,randomX只是点,randomX-widthCoin/2和randomX+widthCoin/2给出了视图大小。谢谢,我正在努力。
(rangeX.contains(randomX - widthCoin / 2) || rangeX.contains(randomX + widthCoin / 2)) && (rangeY.contains(randomY - widthCoin / 2) || rangeY.contains(randomY + widthCoin / 2))