2014-11-27 2 views
-1

Im делает приложение на mapkit, которое показывает мульты на карте. Когда пользователь коснется знака аннотации, пользователь будет переведен в другой подробный вид. Но проблема в том, что класс, который я реализовал, является подклассом OF MKMapKit. когда я пытался использоватькак перейти к другому контроллеру представления из подкласса uiview (mapviewcontroller: MKmapview)

SupermarketDetailsViewController *detailViewController = [[SupermarketDetailsViewController alloc]init]; 
[self.navigationController pushViewController:detailViewController animated:YES]; 

ошибки является свойство «navigationcontroller» не найден на объекте типа mapviewcontroller

как я могу перейти от моего текущего вида на другую точку зрения в этом случае?

ответ

-1

В вашем MapViewController нет навигационного контроллера.

Два способа отображения вашего экрана сведений. 1. Вставьте контроллер навигации в свой MapViewController в раскадровке. 2. представить свою DetailsViewController из MapViewController ниже

DetailsViewController *detailViewController = [[DetailsViewController alloc]init]; 
[self presentViewController: detailViewController animated:YES completion:nil]; 
+0

Почему это проголосовали? – Dev

+0

Фактически я добавляю mapviewcontroller в качестве подзаголовка в Mainviewcontroller, я не использую раскадровку для mapviewcontroller – Sriramana

+0

, вы можете добавить навигационный контроллер программным способом и нажать его. Если вы не хотите иметь навигационный контроллер. Представьте вашему контроллеру пользовательские анимации (например, push). – Dev

1

Для навигации, вы должны вставлять вам mapViewController в UINavigationControlelr (раскадровки). Тогда авария должна быть решена.

+0

им не использовать раскадровку – Sriramana

+0

Итак, запустите приложение или этот рабочий процесс с помощью контроллера UINavigation вместо mapViewController. Это означает, что MapViewController настроен как корень контроллера навигации. Это возможно повсюду. И с или без раскадровки. –

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