我有一个UIImageView对象,我正试图获得x坐标。我使用下面的代码执行此操作
endingPoint.x = myObject.center.x;
现在,我怎么能这样做,如果我在一个数组中有相同的UIImageView,我试图循环并得到每个对象的x坐标,如下所示?
endingPoint.x = [posArray objectAtIndex:i].center.x;
我知道这是一个新手问题,但我只是从iOS开始。
答案 0 :(得分:1)
这显然可以在for循环中完成。 您可以在Objective-C快速枚举循环或标准for循环中执行此操作。
快速枚举循环看起来像这样。
for (UIImageView *image in posArray) {
endingPoint.x = image.center.x;
// Do everything else you want to do with the UIImageView inside the array.
}
答案 1 :(得分:1)
循环内部应该有效:
endingPoint.x = [[posArray objectAtIndex:i] center].x;
答案 2 :(得分:1)
试
endingPoint.x = [[posArray objectAtIndex:i] center].x;
或
endingPoint.x = ((UIImageView *)[posArray objectAtIndex:i]).center.x;
答案 3 :(得分:1)
你非常接近。 objectAtIndex:但是,返回 id 类型的对象(指向任何东西的通用指针),因此您不能在其上调用 .center (property)
您必须使用括号符号向其发送消息,如下所示:
endingPoint.x = [[posArray objectAtIndex:i] center].x;
或首先将值转换为(UIImageView *):
endingPoint.x = ((UIImageView *)[posArray objectAtIndex:i]).center.x;