2010-09-02 42 views
0

我一直在編碼和測試一個應用程序,該應用程序一起使用導航控制器,標籤欄和表格視圖,如本教程視頻中所示:MKMapView不允許用戶在Ipod Touch OS 3.1.3上進行交互,在模擬器3.2/4.0上正常工作

我也編寫了一個顯示自定義註釋的MapView頁面。這似乎在我嘗試過的模擬器的每個版本都可以正常工作。今天早上,我終於得到了運行OS 3.1.3的Ipod Touch上運行的應用程序 - 一切都按預期工作,除了地圖似乎不允許用戶交互。我無法點擊註釋,當前位置或移動和縮放。

我已經完成了界面生成器中mapview的所有設置,並確保所有「用戶交互」,「允許多點觸控」框都被打勾。這似乎沒有改變任何東西。

任何幫助非常感謝。

// Grab the maps view controller ready for loading 
MapView *childController = [[MapView alloc] initWithNibName:@"MapView" bundle:nil]; 
childController.title = @"View on Map"; 

// Push the new view controller onto the stack 
[self.navigationController pushViewController:childController animated:YES]; 

[childController release]; 
childController = nil; 

我也試着運行在一個模式視圖控制器的看法只是爲了看看會發生什麼:

的MapView如下放入視圖。視圖被顯示出來,任何交互似乎都不起作用 - 除了底部的一個小部分,我將視圖縮短了一點,所以它可以放在標籤欄上方。此部分似乎在我的視圖下方有另一個地圖,它對用戶交互作出響應。因此,有一個1釐米左右的區域會移動 - 不過,我的看法似乎保持不變。

下方的視圖看起來沒有任何註釋或當前用戶位置。

回答

0

好,我解決了這個一個:

在我成立了看法並加載註解mapview.m文件,在viewDidLoad中函數中我有下面的代碼:

- (void)viewDidLoad { 

    // More code before this.. 

    [mapView addAnnotations: eventPoints]; 

    // This is causing the problems on the ipod touch. 
    // The view is added ON TOP of the first map.. 
    //[self.view addSubview:mapView]; 
    self.view = mapView; 

    // More code after this.. 
} 

其中mapView是

IBOutlet MKMapView *mapView; 

在當前視圖頂部添加一個子視圖不想工作。實際上將視圖設置爲帶有註釋的新更新視圖似乎工作正常。儘管模擬器可以工作而不是設備仍然很奇怪。

希望這可以幫助別人。

相關問題