Я хочу заполнить
UIView кнопками с рандомными позициями, таким образом что бы они не пересекались между собой
Моя идея:
-создать первую кнопку и разместить ее на рандомную позицию
-заполнить view остальными кнопками(<20), таким образом что бы они не пересекались.
Что я сделал:
-(void)generateButtonsForView:(UIView *)view buttonCount:(int)count
{
//get size of main view
float viewWidth = view.frame.size.width;
float viewHeight = view.frame.size.height;
//set button at random position
UIButton *initialButton = [[UIButton alloc] initWithFrame:CGRectMake(arc4random() % (int)viewWidth, arc4random() % (int)viewHeight, buttonWidth, buttonHeight)];
[initialButton setBackgroundImage:[UIImage imageNamed:@"button"] forState:UIControlStateNormal];
[view addSubview:initialButton];
// set count to 20 - max number of buttons on screen
if (count > 20)
count = 20;
//fill view with buttons from initial button +- 10 pixels
for (int i=0;i<=count;i++)
{
//button
UIButton *otherButtons = [[UIButton alloc] init];
[otherButtons setBackgroundImage:[UIImage imageNamed:@"button"] forState:UIControlStateNormal];
...//have no idea what to do here
}
}
Я застопорился на моменте где нужно создать позиции остальных кнопок, в зависимости от начальной кнопки. Я не могу придумать как сгенерировать ихние позиции, что бы они были на расстоянии не больше 5-10 пикселей друг от друга.