iphone - 访问数组中 UIButton 对象的位置

标签 iphone objective-c arrays

我有一个 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;

最佳答案

您可能希望早点获取指向数组中 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 大小。

关于iphone - 访问数组中 UIButton 对象的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9251862/

相关文章:

html - 如何更改 Safari Web Apps 的 iOS 状态栏的背景颜色?

ios - 我有一个库文件(.a)。我怎样才能从这里向后获取一些伪源代码?

java - 显示数组时数组元素给出 null 和 0

iphone - 在 Objective C 中查询数组(如 MySQL)

iphone - 在 iPhone 上通过 SMS 发送位置信息或 vCard

ios - 更改从 UIActivityViewController 打开的模态视图 Controller 的状态栏文本颜色

objective-c - 以编程方式设置 NSOutlineView 的选择(并获取 NSTableView 的选择)

c++ - 使用指针访问数组的值

c++ - 为什么 C++ 不接受字符数组的有符号或无符号字符

ios 像直播一样显示视频/音频