複数のUIViewを、互いに接触したり、親ビューの端に接触したりせずに、ランダムな座標で画面に配置するのが最善の方法を知りたいです。
ありがとう!
複数の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 を使用して、2 つの UIView フレームが交差しているかどうかを確認します。