Положение доступа объектов UIButton в массиве - PullRequest
2 голосов
/ 12 февраля 2012

У меня есть массив UIButtons.Что я хочу сделать, это с помощью другой кнопки, случайным образом установить положение каждой из кнопок в массиве.

Поэтому я инициализирую массив с помощью UIButtons:

 buttonArray = [[NSMutableArray alloc] initWithObjects:button1,button2,button3,button4,button5,button6,button7, nil];

У меня есть метод рандомизации для установки каждой позиции кнопки.это та часть, где я застрял.Я нашел некоторые темы о том, чтобы приводить тип объекта в массиве, чтобы компилятор понимал.но я не могу заставить его работать.

- (IBAction)randomizePositions:(id)sender 
{
    for (int i = 0; i < [buttonArray count]; ++i) 
    {
        float xPos = arc4random() % 1000;
        float yPos = arc4random() % 700;
        CGRect randomPosition = CGRectMake(xPos, yPos, button1.frame.size.width, button1.frame.size.width);
        (UIButton *)[buttonArray objectAtIndex:i].frame = randomPosition;
    }
}

Это та часть, которую я, похоже, не могу понять.Теперь уже очевидно, что я новичок, поэтому любая помощь будет сильно оценена.

(UIButton *)[buttonArray objectAtIndex:i].frame = randomPosition;

1 Ответ

2 голосов
/ 12 февраля 2012

Возможно, вы захотите получить указатель на UIButton в массиве ранее, так как может быть проще рассмотреть, с чем вы работаете.

- (IBAction)randomizePositions:(id)sender 
{
    for (int i = 0; i < [buttonArray count]; ++i) 
    {
        UIButton *currentButton = (UIButton *)[buttonArray objectAtIndex:i];
        float xPos = arc4random() % 1000;
        float yPos = arc4random() % 700;
        [currentButton setFrame:CGRectMake(xPos, yPos, currentButton.frame.size.width, currentButton.frame.size.height)];
    }
}

Если, конечно, вы не хотите всегда работать с размером кнопки 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...