我正在构建一个应用程序,其中我有 8 个 UI 按钮,使用 arc4random 给定所有随机坐标。一直试图弄清楚如何阻止它们重叠。
任何想法或帮助将不胜感激,因为这是阻碍我的应用程序的唯一因素!
谢谢
我正在构建一个应用程序,其中我有 8 个 UI 按钮,使用 arc4random 给定所有随机坐标。一直试图弄清楚如何阻止它们重叠。
任何想法或帮助将不胜感激,因为这是阻碍我的应用程序的唯一因素!
谢谢
您需要一组不重叠的可能位置:
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];