Это нетривиальная проблема.Но основы в том, что CGRect - это прямоугольник, и тест на попадание внутрь прямоугольника довольно легко понять.Тем не менее, вы говорите, как будто вы хотите более сложную форму.UIImageView отображает изображение.Он не имеет никакого представления о том, какую форму вы хотите использовать для теста на столкновение.Так что вам нужно будет это сказать.
Одна простая вещь, которую нужно сделать, это посмотреть на альфа / прозрачные значения отображаемого изображения, чтобы создать форму.Таким образом, для ответа на вопрос - точка, попадающая на изображение, мы выясняем расположение точки на изображении и возвращаем true, если альфа больше 0. Если вы сделаете это, вы можете создать любое изображение с прозрачным фоном, и код будет просторабота.
Если это не сработает для вас, вы также можете запустить тест на попадание в точку, и в этом посте многоугольник подробно расскажет об этом.
Как определить,2D точка находится внутри полигона?