У меня есть спрайт с его ограничительной рамкой, и я хочу обнаружить его пересечение с CGMutablePathRef.Как бы я это сделал?
Если это чисто прямоугольное сравнение, вы можете использовать CGPathGetBoundingBox, чтобы получить ограничивающую рамку пути, а затем использовать CGRectIntersectsRect, чтобы определить, происходит ли пересечение.
CGPathGetBoundingBox
CGRectIntersectsRect
В зависимости от требований к производительности нарисуйте 1-битное растровое изображение, обрезав его до CGRect. Затем отсканируйте пиксель. (Этот метод более подходит для тестирования до определенной степени.)
Нет готового решения для этого. Это также зависит от того, какие функции CGPath вы используете. Если это просто серия точек, вы можете использовать обычную линию с тестом пересечения прямоугольника .
Все остальное (например, кривая Безье и пересечение прямоугольника) будет очень сложным.