У меня есть два UIImageViews, один из них перемещается слева направо, а другой - перетаскиваемый. Я хочу, чтобы NSLog отображал сообщение на консоли всякий раз, когда imagetwo перекрывает imageone. Как мне это сделать?Как я могу обнаружить, когда два UIImageView перекрываются?
5
A
ответ
11
Вы можете использовать функцию CGRectIntersectsRect
, чтобы легко проверить пересечение прямоугольника, если UIImageViews имеют один и тот же вид супервизора (точнее, имеют такое же координатное пространство).
Вероятно, вам нужно будет добавить код вроде следующего:
-(void) touchesEnded:(NSSet *) touches {
if(CGRectIntersectsRect([imageViewA frame], [imageViewB frame])) {
NSLog(@"Do something.");
}
}
в UIView, на котором размещены оба представления изображения или аналогичный метод, который вызывается всякий раз, когда сопротивление будет завершена.
0
Вы можете использовать:
CGRectIsNull (CGRectIntersection (view1.bounds, view2.bounds));
1
попробуйте что-то вроде этого.
if (CGRectContainsRect([myImageView1 frame], [myImageView2 frame])) {
NSLog(@"Overlaped, it's working!");
}
0
В Swift 3.0 стал ...
if (self.image2P.bounds.contains(self.image3P.bounds)) {
print("Overlaped, it's working!")
}
Смежные вопросы
- 1. Как я могу обнаружить событие касания UIImageView
- 2. Как я могу обнаружить два разных касания
- 3. обнаружить, если виды перекрываются
- 4. Как я могу определить, перекрываются ли два CALayers?
- 5. Как я могу увидеть, перекрываются ли два полигона?
- 6. Как я могу обнаружить, когда черепица проходит?
- 7. Удалите класс, когда два divs перекрываются
- 8. Два JPanels перекрываются?
- 9. Как проверить, перекрываются ли два div?
- 10. Как много перекрываются два прямоугольника?
- 11. Как я могу оживить UIImageView, когда пользователь перетаскивает MKMapView?
- 12. Обнаружить выбранный UIImageView
- 13. Вложенные подменю перекрываются, как я могу исправить?
- 14. Uitextfield и UIImageView перекрываются при изменении ориентации.
- 15. Как я могу перевернуть UIImageView?
- 16. Как я могу повернуть UIImageView?
- 17. Когда два изображения перекрываются, один исчезает. Как его решить?
- 18. Как обнаружить UIImageView внутри UIScrollView
- 19. Как я могу проверить, перекрываются ли два элемента управления друг другом на холсте в WPF?
- 20. Как я могу обнаружить, когда я нахожусь в системе Unity?
- 21. Как обнаружить, когда два объекта касаются SpriteKit
- 22. Два контейнера перекрываются
- 23. Как обнаружить, когда два изображения «сталкиваются»?
- 24. Как я могу обнаружить скрипач?
- 25. как бороться с событием onclick, когда два перекрытия перекрываются
- 26. Обнаружить, когда SKPhysicsBodies Overlap
- 27. Обнаружить UIImageView с использованием процента
- 28. Определить, перекрываются ли два прямоугольника
- 29. Как я могу обнаружить определенный элемент?
- 30. Как проверить, перекрываются ли два временных интервала?
Это сделал трюк, спасибо большое! – John
Если они не разделяют одно и то же пространство координат: 'BOOL пересекает = CGRectIntersectRect (viewA.bounds, [viewA convertRect: viewB.bounds fromView: viewB])' – nielsbot