以编程方式创建对象并更改该对象的位置

时间:2013-01-28 02:00:35

标签: ios objective-c uiimageview

我正在尝试创建一些UIImageViews(最好带有for循环),然后再移动它们,但我不知道怎么回事,因为如果以编程方式编写它们,我就无法弄清楚如何引用它们

所以我想要这样的事情:

    for (int i = 0; i < 2; i++)
    {
        UIImageView *iv = [[UIImageView alloc]initWithImage:[UIImage imageNamed: picturo]];
        CGRect rect = CGRectMake((i * 50) + 50,30, 25, 25);
        [iv setFrame:rect];
        iv.tag = i;
        [self.view addSubview:iv];
    }

    (iv with tag of 0).center.y = 80; // <-- How do I do that!!

显然这个例子没有实际用处,我可以将上面的'rect'的值改为80,但我想知道如何:

一个。创建多个uiimageview(或任何对象)并能够单独识别/引用/操作每个(我不知道如何通过单独命名或使用标签来假设)和

湾能够识别/引用/操作以编程方式创建的对象。

1 个答案:

答案 0 :(得分:1)

使用标签创建视图的方式与您一样。

要访问这些视图,请使用视图上的viewWithTag属性来标识其中一个子视图:

  UIView* subview = [self.view viewWithTag:0];
  subview.center = CGPointMake(subview.center.x, 80);

(您无法写入view.center的{​​{1}}或x,您必须重新创建整个内容。与其他几何结构类似,例如y,{ {1}})