将CGRectIntersectsRect与uiviews数组的IBOutletCollection一起使用

时间:2013-05-19 02:01:19

标签: arrays uiview for-loop cgrect iboutletcollection

您好我有3个视图作为IBOutletCollection的一部分。它们位于名为myArrayOfViews的数组中。我希望能够使用CGRectIntersectsRect来确定这三个视图中的任何一个重叠,但到目前为止还没有运气。我以为我可以遍历数组两次然后运行CGRectIntersectsRect但没有运气。我错过了什么提前谢谢!

for (UIView *view1 in self.myArrayOfViews) {
    NSLog(@"view1 is %@",view1);
    for (UIView *view2 in self.myArrayOfViews) {
        NSLog(@"view2 is %@",view2);

        if( CGRectIntersectsRect(view1.frame, view2.frame)) {
            NSLog(@"overlap!");
        }
    }

}

1 个答案:

答案 0 :(得分:1)

你弄清楚问题是什么。以下是添加两个视图不相同的检查的方法:

for (UIView *view1 in self.myArrayOfViews) {
    for (UIView *view2 in self.myArrayOfViews) {    
        if (view1 != view2 && CGRectIntersectsRect(view1.frame, view2.frame)) {
            NSLog(@"overlap!");
        }
    }    
}