我想知道最好的方法是将多个UIViews放在屏幕上,使用随机坐标,而不会相互接触或触摸父视图的边缘。
谢谢!
答案 0 :(得分:1)
使用arc4random()生成随机数。您需要将这些约束在0和父坐标视图的x坐标的框架宽度之间,并且在0和y坐标的视图框架高度之间。假设您希望它完全可见,从范围中减去随机视图框架宽度/高度。
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帧是否相交: