0

次のように定義された2つの長方形があります。

CGRect rect1  = CGRectMake(64.000000,1100.500000,704.000000,1971.500000);
CGRect rect2  = CGRectMake(88.000000,1757.416626,100.000000,1780.416626);

これで、 rect2 が rect1 に含まれていることがわかりました。ポイントからそれを見ることができ、 CGRectContainsRect がTRUE値を与える必要があることは明らかです。しかし、その値をログに記録すると、それはFALSEです。

if(CGRectContainsRect(rect1, rect2)){
   printf("yes1\n");
}else{
   printf("No1\n");
}

上のコードは偽を与えています。誰でもこれで私を助けることができますか?

4

1 に答える 1

2

CGRectContainsRect1 つの rect が 2 番目の rect の境界内に完全に含まれている場合にのみ true を返します。あなたの例では、rect2 の高さが rect1 と重なっています。

を探していCGRectIntersectsRectます。

于 2013-06-27T12:45:03.183 に答える