MKMapView userTrackingMode, переопределенный CLSqliteDatabaseManager - PullRequest
1 голос
/ 24 ноября 2011

Я устанавливаю userTrackingMode экземпляра MKMapView в методе viewLoaded моего UIViewController. При первой загрузке представления я установил его в MKUserTrackingModeFollowWithHeading успешно. Однако каждый раз при загрузке представления, хотя я снова устанавливаю его значение в MKUserTrackingModeFollowWithHeading, MKUserTrackingModeNone почти сразу же перезаписывает его. Я создал подкласс MKMapView и переопределил setUserTrackingMode, вставив точку останова, чтобы я мог видеть, откуда она вызывается. То же самое происходит в симуляторе и на устройстве:

На симуляторе я получаю следующее из стека, когда значение установлено в MKUserTrackingModeNone:

enter image description here

На моем устройстве (iPhone 4s) я получаю следующее:

enter image description here

В моем приложении очень мало всего происходит, и, конечно же, ничего, что непосредственно вызывает свойство, которое нужно установить. Что такое CLSqliteDatabaseManager? Google не возвращает ни одного результата. На устройстве как MKMapRectContainsRect может быть задействован? Я использую iOS 5.0.

1 Ответ

2 голосов
/ 10 мая 2012

Кажется, уже поздно отвечать. Но это все еще может быть полезно для тех, кто ищет ответ.

У меня была точно такая же проблема. Вдруг я понимаю, почему. Загрузите встроенное приложение «Карты» для iOS и нажмите маленькую кнопку со стрелкой в ​​левом нижнем углу, чтобы начать отслеживать свое местоположение. Как только вы перетащите карту. Отслеживание остановлено. По той же причине, если вы переместите карту в свой код, свойство MKMapView userTrackingMode будет автоматически сброшено на MKUserTrackingModeNone.

В моем случае я позвонил setCenterCoordinate после установки userTrackingMode на MKUserTrackingModeFollow в - (void)viewWillAppear:(BOOL)animated. Он работал нормально после перемещения по коду mapView.userTrackingMode = MKUserTrackingModeFollow; до конца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...