2010-09-02 44 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; 

在当前视图顶部添加一个子视图不想工作。实际上将视图设置为带有注释的新更新视图似乎工作正常。尽管模拟器可以工作而不是设备仍然很奇怪。

希望这可以帮助别人。

相关问题