2

Я пытаюсь создать модальное представление, которое появляется, когда пользователь нажимает кнопку. Модальный вид имеет навигационную панель с видом карты в качестве основного вида. У меня возникли проблемы с настройкой этого в Interface Builder. Когда я устанавливаю вид представления для представления своего владельца файла на вид внутри контроллера навигации, единственное, что появляется, это вид карты, с серым пространством сверху и снизу. Навигационная панель никогда не появляется. Вот скриншоп, как он выглядит, с изображением моего окна IB.Настройка контроллера навигации с видом карты в построителе интерфейса

Как я могу заставить панель навигации отображаться правильно? Благодаря

alt text http://img.skitch.com/20100126-d5u4yuufpe77xdkuw2k1h9uahf.jpg

http://img.skitch.com/20100126-xrw6qd5jajytkq5u7x3kdk168s.jpg http://img.skitch.com/20100126-xrw6qd5jajytkq5u7x3kdk168s.jpg

На всякий случай, вот MapViewController декларация:

#import <Foundation/Foundation.h> 
#import <MapKit/MapKit.h> 

@interface MapViewController : UIViewController 
{} 
@end 

И код подтолкнуть контроллер представления модально:

MapViewController *mapVC = [[MapViewController alloc] init]; 
self.mapViewController = mapVC; 
[mapVC release]; 
[self presentModalViewController:mapViewController animated:YES]; 

ответ

3


Вы делаете неправильный путь в своем файле NIB.

Добавить MKMapView на вид UIViewController. Вы можете добавить панель навигации здесь вместо контроллера, если вы не хотите, чтобы это представление отправлялось куда угодно.

Однако наличие контроллера навигации очень удобно. Таким образом, убедитесь, что нет контроллера навигации в файле NIB для вашего класса MapViewController, а затем изменить код, чтобы выглядеть следующим образом:


MapViewController *mapVC = [[MapViewController alloc] init]; 
self.mapViewController = mapVC; 
[mapVC release]; 

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:mapViewController]; 
[self presentModalViewController:navController animated:YES]; 
[navController release]; 

Затем вы можете открыть контроллер из вашего MapViewController .m файл:

self.navigationController 
+0

Спасибо за помощь, которая отлично сработала. –

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