MKMapView, не называя методы делегата

Я просто хотел упомянуть этот дополнительный метод для включения и отключения элементов . Я думаю, что это - намного более чистый путь, чем добавление и удаление атрибутов непосредственно.

Тогда Вы просто делаете:

$("div *").disable();

10
задан criscokid 4 September 2009 в 19:00
поделиться

4 ответа

, может быть, довольно очевидно, но просто проверяю:

Вы удостоверились, что объявление вашего viewcontroller сделано правильно? Что-то вроде:

@interface YourViewController : UIViewController <MKMapViewDelegate>
1
ответ дан 3 December 2019 в 20:05
поделиться

Возможно, вам нужно перейти к IB и Control-Drag от MkmapView к Conroller View, затем выберите делегат, чтобы сделать его делегатом ???

4
ответ дан 3 December 2019 в 20:05
поделиться

Я также столкнулся с той же проблемой, что и вы. Я обнаружил, что: в iPhone SDK 3.2 - когда я создаю новый UIViewController со связанным xib файлом (опция флажка в диалоге создания UIViewController), методы делегата MKMapViewDelegate никогда не вызываются.

Однако, когда я выполняю следующие шаги, все работает нормально.

  1. Создайте новый класс UIViewController (никогда не отмечайте опцию: создать xib файл, связанный с контроллером)

  2. Создайте новый xib файл. Добавьте карту с помощью Interface Builder + установите класс Owner с классом на шаге 1 + установите делегат объекта точки карты на класс владельца.

  3. Реализуйте методы делегата для класса UIViewController на шаге 1.

  4. Когда я хочу использовать свой ViewController (с добавленной картой), я загружаю его с именем nib, как показано ниже:

    MapPreviewController* mapPreviewController = [[MapPreviewController alloc] 
     initWithNibName:@"MapPreviewController" bundle:[NSBundle mainBundle]];
    
    [self.centerPanelView addSubview:mapPreviewController.view];
    

Код работает нормально. Я не знаю, что Apple меняет или делает с xib-файлом, когда я создаю UIViewController с помощью мастера, но это может быть первопричиной моей проблемы. Мне понадобился 1 день, чтобы найти это глупое решение.

Если вы нашли другое решение, пожалуйста, поделитесь со мной.

Спасибо

-2
ответ дан 3 December 2019 в 20:05
поделиться

У меня была аналогичная проблема с методами MKMapViewDelegate, которые не вызывались . Моя проблема заключалась в установке MKCoordinateRegionMakeWithDistance и regionThatFits в -viewDidLoad () контроллера. Я хотел показать только область вокруг моего дома, а не начинать с обзора мира. Итак, после добавления аннотаций в viewDidLoad контроллера я запустил таймер. Когда он истекает через одну секунду, я увеличиваю область, которую хочу, с помощью вышеуказанных API, и срабатывают методы делегата. Это просто вызывает у меня легкое головокружение и склонность к рвоте на мой iPad.

Теперь мне нужно иметь дело только с предупреждениями о нехватке памяти.

1
ответ дан 3 December 2019 в 20:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: