Мы добавляем функциональность перетаскивания, чтобы стать спортивным полем с позициями для игроков.iOS - Обнаружение столкновения перетаскиванием Как определить, когда выбранный элемент перетаскивается над другим подвью?
Позиции отображаются с помощью Interface Builder, каждый из которых является отдельным UIImageView.
Мы хотим, чтобы мы могли перетаскивать изображения игроков из стендовых позиций со стороны экрана на позиции на поле.
Как лучше всего определить, когда выбранный игрок, который перемещается вокруг, сталкивается с существующим изображением игрыPosition?
Мы ищем способ обнаружения, если есть вид или ImageView в текущем местоположении.
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
tile1.center = location;
if gamePositionExistsAtCurrentLocation(location) { //want something like this
[tile1 setBackgroundColor:[UIColor blueColor]];
} else {
[tile1 setBackgroundColor:[UIColor yellowColor]];
}
}
Таким образом, идея в том, что каждый раз, когда я двигаюсь я бегу через массив объектов и посмотреть, если они совпадают мое текущее местоположение (но с использованием вместо кадра, как вы говорите)? – Evolve
Есть ли какие-либо методы, предоставленные яблоком, которые я могу использовать, чтобы сообщить, какие субподзоры в настоящее время пересекаются с указанной точкой? – Evolve