我有一个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;
答案 0 :(得分:2)
您可能希望先前获取指向数组中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)];
}
}
当然,除非您希望始终使用button1大小。