Многократное перетаскивание многоугольника - PullRequest
0 голосов
/ 02 августа 2011

Я хочу поместить несколько динамически нарисованных многоугольников в UIView и сделать каждый такой многоугольник перетаскиваемым.Должен ли я поместить каждый динамически нарисованный многоугольник в подпредставление и добавить его в UIView (что кажется невозможным, поскольку один UIView может отображать только одно подпредставление) или я должен нарисовать каждый многоугольник в другом CALayer и каскадировать событие касания для каждого слоя?

Ответы [ 2 ]

1 голос
/ 19 августа 2011

Я думаю, что ваши предположения неверны. UIView, безусловно, может содержать и отображать несколько подпредставлений. (Вот почему подпредставления являются NSArray - потому что их может быть много.) Так что да, вы должны создать новый UIView для каждого многоугольника и добавить их в качестве подпредставлений в ваш основной вид.

Как вы рисуете несколько перетаскиваемых полигонов? Если вы зарегистрированы как разработчик iOS, вы можете перейти к ресурсам Apple для разработчиков и посмотреть видеоролики сессий WWDC2011. В WWDC2001, сессия 118, «Использование Multi-Touch на IOS», Кен Косиенда демонстрирует приложение, которое делает это, используя распознаватели жестов для определения касаний. Я не думаю, что код приложения доступен, но он обсуждает его подробно.

0 голосов
/ 14 февраля 2012

Это зависит от вашего количества полигонов и от того, насколько они динамичны. Если у вас их много, будет стоить сотни UIViews; в этом случае вам лучше использовать CALayers и отслеживать позиции вручную. Если у вас есть только несколько полигонов, не усложняйте свою жизнь и выбирайте UIViews.

...