CGRectContainsRect不起作用

dru*_*fer 5 iphone objective-c cgrect

我遇到了这种方法的问题.我有两个明显相互包含的矩形.(我甚至手动绘制了它们的坐标以确保.)当我使用CGRectContainsRect来比较这两个矩形时,它返回false.对于我的生活,我已经尝试了一切,在网上搜索,我找不到这个问题的答案.任何人都知道为什么?我在调试时已经包含了CGRects的值,以表明它们肯定在彼此之内.

-(bool)checkBoundingBox {
    bool returnItem = YES;

    //Checks for sprite interaction
    for (int i = 0; i < [arrGameItems count]; i++) {
        CGRect rect2 = [[self getChildByTag:1] boundingBox];
        CGRect rect1 = [[self getChildByTag:3] boundingBox];

        //        rect1 = CGRectStandardize(rect1);
        //        rect2 = CGRectStandardize(rect2);

        if (CGRectContainsRect(rect2, rect1)) {
            CCLOG(@"removed child b*&ch");
            [self removeChildByTag:[arrGameItems count] cleanup:YES];
            returnItem = NO;
        }
    }   

    CCLOG(@"g-dammit");    
    return returnItem;
}
Run Code Online (Sandbox Code Playgroud)

rect1原点x = 141 y = 76,高度= 25,宽度= 25

rect2 origin x = 127 y = 91,height = 25,width = 25

Shu*_*ank 24

CGRectContainsRect()检查一个矩形是否完全包含另一个矩形,而不仅仅是它们是否相交.从您的坐标,矩形不包含彼此,但只是相交.你在找CGRectIntersectsRect().