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的視圖。如果你不希望這個視圖去其他任何地方,你可以在這裏添加一個導航欄而不是控制器。

但是,擁有導航控制器非常方便。因此,確保有在你的MapViewController類NIB文件中沒有導航控制器,然後編輯你的代碼看起來像這樣:


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

感謝您的幫助,完美的工作。 – 2010-01-26 23:30:12

相關問題