Как распознать аннотацию, как распознать жест круга, как определить круг?

Я нашел код, который обнаруживает жест круга в любом месте представления: http://iphonedevelopment.blogspot.com/2009/04/detecting-circle-gesture.html

Работает нормально.

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

Есть ли способ включить распознаватель кругов с картой?

3 ответа

Решение

Отвечая на мой собственный вопрос:

Эта страница полезна: http://justinimhoff.com/swipe-gesture-with-uiwebview/

В приведенном выше примере с кружком я сделал CircleView UIGestureRecognizer вместо представления... изменил экземпляры "self" на "self.view" в этом файле. Затем я соединил его с примером жеста смахивания, убедившись в том, что делегат моего распознавателя жестов круга установлен на self. Если кому-то нужно узнать больше деталей, дайте мне знать.

Решение, которое я использовал, состоит в том, чтобы не создавать подкласс MKMapView, а использовать вместо него композицию. То есть создайте свой UIViewController, добавьте свой MKMapView, а затем добавьте еще один прозрачный поверх этого. Добавьте ваши жесты к этому представлению. Убедитесь, что никакие другие касания не коснутся в этом представлении, поэтому MKMapView продолжает отвечать.

Я полагаю, было бы создать подкласс MKMapView и реализовать там свой распознаватель жестов окружности. Затем нарисуйте круг на вид вашего подкласса.

Другие вопросы по тегам