Xcode 如何使用UIImageView的属性,例如“我们”;中心.x“;及;“框架”;当它是IBOutletCollection数组时?

Xcode 如何使用UIImageView的属性,例如“我们”;中心.x“;及;“框架”;当它是IBOutletCollection数组时?,xcode,uiimageview,nsarray,iboutlet,outlet,Xcode,Uiimageview,Nsarray,Iboutlet,Outlet,好的,我有一个UIImageView的IBOutlet,看起来像这样: .h @property (nonatomic,retain) IBOutlet UIImageView *ground; .m if (CGRectIntersectsRect(player.frame,ground.frame)) { "STUFF" } 然后我可以使用如下变量“ground.frame”,在我的代码中如下所示: .h @property (nonatomic,retain) IBOutlet

好的,我有一个UIImageView的IBOutlet,看起来像这样:

.h
@property (nonatomic,retain) IBOutlet UIImageView *ground;
.m
if (CGRectIntersectsRect(player.frame,ground.frame)) {
   "STUFF"
}
然后我可以使用如下变量“ground.frame”,在我的代码中如下所示:

.h
@property (nonatomic,retain) IBOutlet UIImageView *ground;
.m
if (CGRectIntersectsRect(player.frame,ground.frame)) {
   "STUFF"
}
这很好,但后来我发现我需要一个“iBootletCollection”。我为此更改了.h代码:

.h
@property (nonatomic,retain) IBOutletCollection(UIImageView) NSArray *ground;
现在我不知道如何使另一个工作,因为它给我一个错误,告诉我“在NSArray类型的对象上找不到帧。” 因此,我的问题是如何更改.m文件中的代码,使其工作方式与以前相同,但现在作为一个数组


感谢

该数组是UIImageView的集合,因此您可以从数组中取出一个对象并进行查询

也许

for(UIImageView *xground in ground)
{

if (CGRectIntersectsRect(player.frame,xground.frame)) {
   //do stuff 
   break;

}

}
可以询问阵列中每个视图的帧


如果您真的想变得偏执,请对该对象运行类检查,以确保它是来自数组的UIImageView,但可能没有必要,因为您已经将其声明为UIImageView的数组。

该数组是UIImageView的集合,因此您可以从数组中取出一个对象并查询该对象

也许

for(UIImageView *xground in ground)
{

if (CGRectIntersectsRect(player.frame,xground.frame)) {
   //do stuff 
   break;

}

}
可以询问阵列中每个视图的帧


如果你真的想成为偏执狂,对对象运行一个类检查,以确保它是从数组中发出的UIImageView,但可能没有必要,因为你已经将它声明为UIImageView数组。

这不起作用。还有别的办法吗?我只想将多个对象分配给同一个插座,以便它们都执行相同的操作。谢谢什么不起作用?查询集合中的所有视图?您确定所有ImageView都已连接到IBS中吗?查询集合上的所有视图是什么意思?它们连接在IB中。回到你的第一个答案,我只需要添加for循环,对吗?或者我还需要做些什么?谢谢注意你最初陈述的xground vs ground的mod。那不起作用。还有别的办法吗?我只想将多个对象分配给同一个插座,以便它们都执行相同的操作。谢谢什么不起作用?查询集合中的所有视图?您确定所有ImageView都已连接到IBS中吗?查询集合上的所有视图是什么意思?它们连接在IB中。回到你的第一个答案,我只需要添加for循环,对吗?或者我还需要做些什么?谢谢注意原始声明中的mod xground vs ground。