2010-06-02 4 views
1

Я пытаюсь создать приложение, которое будет иметь кучу карт, которые пользователь должен перетащить и перетащить их в определенные зоны сброса. Как бы можно было обнаружить это, и если карта не находится в зоне выпадения, тогда она должна отступить.Построение интерфейса перетаскивания на iphone

Любые предложения о том, как структурировать это приложение?

ответ

4

View.center тест против ваших границ границы. что-то вроде этого, может быть:

if(((draggedBox.center.x >= droppingBox.origin.x) && 
      (draggedBox.center.y <= droppingBox.origin.y)) && 
      (draggedBox.center.x <= (droppingBox.origin.x + droppingBox.width) && 
      (draggedBox.center.y >= (droppingBox.origin.y + droppingBox.height))) { 

    //do stuff because its inside 
} 

else { 

    //send it back from whence it came 
    draggedBox.center = cgpointmake(originalXposition,originalYposition); 

} 
+0

Можете ли вы подробно рассказать об этом? Как я могу проверить границы границы? – Obaid

+0

так ваш ответ? – nickthedude

+0

Ник, не могли бы вы рассказать мне, как выглядит код «Отправить его обратно откуда он пришел»? мне нужно кэшировать его где-нибудь? – Obaid

2

Вы должны смотреть на CGRectContainsRect (draggedBox.frame, droppingBox.frame);