MKMapView addAnnotation задержка при перетаскивании в UIScrollView по карте - PullRequest
2 голосов
/ 01 февраля 2011

Я работаю над приложением для iPad, и у меня есть полноэкранный MKMapView с прозрачным UIScrollView (около 1/5 экрана) поверх него. Я добавляю аннотации (булавки карты) на карту, когда вы прокручиваете UIScrollView по горизонтали, но я замечаю, что булавки фактически не падают на карту, пока вы не отпустите / не прекратите перетаскивать UIScrollView.

Я также подтвердил, что время соответствует ожидаемому, добавив NSLog ниже. Консоль показывает сообщение «Добавление булавки», когда я прокручиваю, но булавка не добавляется, пока вы не перестанете перетаскивать.

if(![myMap.annotations containsObject:item]) {
    [myMap addAnnotation:item];
    NSLog(@"Adding pin."); // Gets called when I would expect, but no pin drops
}

Я уверен, что карта что-то делает с касаниями, но я не уверен, как сказать карте игнорировать касания в UIScrollView над ней ... или наоборот, сказать UIScrollView НЕ пропускать касается карты ниже.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 01 февраля 2011

Я не уверен, как сказать карте игнорировать касания в UIScrollView над ней ... или наоборот, сказать UIScrollView НЕ передавать касания на карту ниже.

Вы пробовали три свойства, связанные с прикосновением, на UIViews?Если вы установите для свойства .exclusiveTouch вашего UIScrollView значение YES, оно заблокирует доставку сенсорных событий в любое другое представление в этом окне.

Или вы можете изменить свойство .userInteractionEnabled вида карты на NO.В любом случае вы заблокируете доставку сенсорных событий из вида прокрутки в вид карты.

Если эти два свойства не работают, то ваша проблема, вероятно, связана с касанием внутри вида прокрутки.

...