0

我正在构建一个应用程序,其中我有 8 个 UI 按钮,使用 arc4random 给定所有随机坐标。一直试图弄清楚如何阻止它们重叠。

任何想法或帮助将不胜感激,因为这是阻碍我的应用程序的唯一因素!

谢谢

4

1 回答 1

0

您需要一组不重叠的可能位置:

CGPoint possibleLocations[] = {
    { 0, 0 },
    { 25, 25 },
    { 25, 50 },
    // etc.
}

int numLocations = sizeof(possibleLocations) / sizeof(CGPoint);
BOOL takenLocations[numLocations];

CGPoint finalLocation;
int index;

while ((takenLocations[index = arc4random_uniform(numLocations]))
{
}

takenLocations[index] = YES;
finalLocation = possibleLocations[index];
于 2012-02-25T18:40:01.897 回答