Ios 更改UIImageView的属性
我把编程作为一种爱好,所以请容忍任何“老派”或完全错误的做法 我正在尝试使用计时器在视图中移动三幅图像。然后,它们需要被另一个UIImageView避开。障碍物排成一列:Ios 更改UIImageView的属性,ios,arrays,for-loop,uiimageview,Ios,Arrays,For Loop,Uiimageview,我把编程作为一种爱好,所以请容忍任何“老派”或完全错误的做法 我正在尝试使用计时器在视图中移动三幅图像。然后,它们需要被另一个UIImageView避开。障碍物排成一列: objArray = [NSMutableArray arrayWithObjects:[UIImage imageNamed:@"img-1.png"], [UIImage imageNamed:@"img-2.png"],
objArray = [NSMutableArray arrayWithObjects:[UIImage imageNamed:@"img-1.png"],
[UIImage imageNamed:@"img-2.png"],
[UIImage imageNamed:@"img-3.png"], nil];
然后,我有一个for循环来创建这些视图,我认为问题就是从这里开始的
count = [objArray count];
for(int i=0; i < count; i++)
{
NSLog (@"Element %i = %@", i, [objArray objectAtIndex: i]);
randX = arc4random_uniform(450);
randX = randx + 50;
randY = arc4random_uniform(236);
randY = randy + 45;
imgObj = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[objArray objectAtIndex:i]]];
imgObj.center = CGPointMake(randX, randY);
[self.view addSubview:imgObj];
[self startAnimation];
count=[objArray count];
for(int i=0;i
所有三幅图像都显示正常。问题是如何移动这些图像
我理解计时器的需要,它是在startAnimation方法中启动的。我尝试过在for循环中设置一个标记。但是这总是会导致最后一个对象“img-3.png”,然后它会移动到ok
我的问题是:如何区分我在循环中创建的三个视图,以便在其他地方调用它们?为UIImageView分配标记应该有效:
imgObj.tag = i+1; //skipping 0 here since other subviews may have this tag
然后,您应该能够通过
[self.view viewWithTag:tag];
或者您可以创建另一个
NSMutableArray
并将UIImageView存储在其中。[UIImage ImageName:[objArray objectAtIndex:i]]可以吗?因为objArray已经包含UIImages而不是nsstring…不,我想我不太同意它…[[UIImageView alloc]initWithImage:[objArray objectAtIndex:i]];如您所述创建了第二个阵列。这是正确的路径。谢谢!