Как я могу вычесть одно CGRect
из другого? Я хочу, чтобы результат R1 - R2
был самым большим под прямоугольником R1, который не пересекает R2.
Пример 1 :
+----------------------------------+
| +--------+ |
| | R2 | |
| | | |
| +--------+ R1 |
| |
| |
| |
+----------------------------------+
R3 = CGRectSubstract (R2, R1);
+----------------------+
| |
| |
| |
| R3 |
| |
| |
| |
+----------------------+
Пример 2 :
+-----------------------+----------+
| | |
| | R2 |
| | |
| R1 +----------+
| |
| |
| |
+----------------------------------+
R3 = CGRectSubstract (R2, R1);
+-----------------------+
| |
| |
| |
| R3 |
| |
| |
| |
+-----------------------+
Пример 3 :
+----------------------------------+
| |
| |
| |
| R1 |
| +---------+ |
| | | |
| | R2 | |
+---------+---------+--------------+
R3 = CGRectSubstract (R2, R1);
+----------------------------------+
| |
| |
| R3 |
| |
+----------------------------------+