我想知道最好的方法是在屏幕上放置多个具有随机坐标的 UIView,而不会使它们相互接触或接触父视图的边缘。
谢谢!
使用 arc4random() 生成随机数。您需要将它们限制在 x 坐标的 0 和您的父视图框架宽度之间,以及 y 坐标的 0 和您的视图框架高度之间。假设您希望它完全可见,从范围中减去您的随机视图框架宽度/高度。
NSInteger randomX = arc4random() % ((int)view.frame.size.width - randomView.frame.size.width);
NSInteger randomY = arc4random() % ((int)view.frame.size.height - randomView.frame.size.height);
CGRect frameRandom = CGRectMake (randomX, randomY, randomView.frame.size.width,randomView.frame.size.height);
然后,您需要枚举所有现有的随机视图,并确保新的随机视图框架不会与现有视图的框架相交。
使用 CGRectIntersectsRect 查看两个 UIView 框架是否相交: