无交叉创建UIButtons随机位置

时间:2013-08-23 12:16:13

标签: ios objective-c uibutton intersection arc4random

我在阵列中有6个uibutton。我想为它们设置随机位置而不需要交叉。我尝试了一些东西,我的项目工作正常。但是,当我强制应用程序生成新按钮时,它会没有错误。

for (UIButton *button in arr) {

    float widthOffset = self.gameView.frame.size.width-button.frame.size.width;
    float heightOffset = self.gameView.frame.size.height-button.frame.size.height;

    button.frame = CGRectMake(arc4random()%(int)widthOffset, arc4random()%(int)heightOffset, button.frame.size.width, button.frame.size.height);

    while ([self button:button intersectsButtonInArray:arr]) {
        button.frame = CGRectMake(arc4random()%(int)widthOffset, arc4random()%(int)heightOffset, button.frame.size.width, button.frame.size.height);
    }
}


-(BOOL)button:(UIButton *)button intersectsButtonInArray:(NSArray *)array {
    for (UIButton *but in array) {
        if (CGRectIntersectsRect(button.frame, but.frame) && ![button isEqual:but]) {
            return YES;
        }
    }
    return NO;
}

在我看来,问题在于部分问题。但我无法弄清楚。

感谢任何建议。

最诚挚的问候,
塔哈

0 个答案:

没有答案