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



我正在尝试创建几个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"的 y 值更改为 80,但我想知道如何:

a. 创建多个 uiimageviews(或任何与此相关的对象),并能够单独识别/引用/操作每个视图(我不知道如何操作,但我会通过唯一命名它们或使用标签来假设)和

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

创建带有标签的视图的工作方式。

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

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

(你不能写到view.centerxy,你必须重新创建整个东西。其他几何结构如CGSizeCGRect)也是如此。

最新更新