2013-04-12 3 views
0

У меня есть mapView, у которого есть popover, который отображается, когда нажата правая кнопка навигации. В этом popover у меня есть 2 кнопки, которые вызывают 2 метода в mapView. Я подключил код и когда кнопки нажаты, я вижу в журнале, что они вызывается из popover (2 метода на карте), однако эти кнопки управляют обновлением моей карты или повторным вводом ее в расположение пользователей.обновить другой viewController UI от кнопки UIPopoverController iOS

Проблема, которую я вызываю, вызывает методы, но mapView не обновляется, как ожидалось, однако вызывая одни и те же методы из mapView непосредственно, он работает и обновляется пользовательский интерфейс?

Изменяется ли пользовательский интерфейс popover block в других контроллерах? Или я принципиально ничего не получаю?

возвращать в исходное состояние метод выглядит карта ниже, например:

-(void)recenterMap{ 
NSLog(@"Recenter map"); 
[recycleMap setCenterCoordinate:recycleMap.userLocation.location.coordinate animated:YES]; 
} 

Как уже упоминалось при вызове этого метода из пирог я могу видеть, что он записывает его, но никогда не делает ничего, как упомянуто с UI, однако непосредственно его делает из mapView как тест?

вызов метода из пирог, как это:

-(IBAction)recenterTheMap:(id)sender{ 

//incidentsMapView is the mapView and recenterMap is the method in that class to recenter it 
[self.incidentsMapView recenterMap]; 
} 
+0

Как вы звоните в recenterMap метод из контроллера pop-over view? –

+0

@StePrescott Я добавил его с комментариями к моему вопросу внизу. Thanks –

+0

Вы знакомы с блоками или делегатами? –

ответ

0
[recycleMap setCenterCoordinate:recycleMap.userLocation.location.coordinate animated:YES]; 

должен быть

[self.recycleMap setCenterCoordinate:recycleMap.userLocation.location.coordinate animated:YES]; 

XCode следует бросать предупреждение о вашем пропуске self.

Смежные вопросы