我有告诉我缺乏OBJ的理解C.初始化次(例如mapkit)
我制成一个小应用程序与一个根菜单和连接到另一个视图的按钮(的地图的一个小问题)。我的问题是在加载时在地图上设置默认位置。在我里面MapViewController.m代码我包含功能:
- (void)viewWillAppear:(BOOL)animated {
CLLocationCoordinate2D zoomLocation;
zoomLocation.longitude= desired_longitude;
zoomLocation.latitude = desired_latitude;
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 4*METERS_PER_MILE, 4*METERS_PER_MILE);
[self.mapOutlet setRegion:viewRegion animated:YES];}
现在,当我第一次运行该应用程序,并按下根菜单地图按钮,地图某处在大西洋中心。但是,如果我导航回到根菜单并再次按下地图按钮,地图确实位于所需的位置!我试着把这段代码放在viewDidLoad方法里面,结果也一样。
有人可以解释我如何解决这个问题,更重要的是,这是如何工作的?在出现新视图时调用哪个方法?例如,我觉得只有通过在执行文件中包含上述方法才能执行此方法,而无需我调用此方法(此时仅在第二次导航到地图视图后仍然可执行)...
感谢您的回复,但恐怕我的问题依然存在。正如我所说,我第一次导航到mapview(从根菜单),模拟器显示在接近南极洲的某处。之后(如果我回到根,然后再次mapview),一切都按预期工作。更重要的是,如果我在代码的viewWillAppear的最后一行插入一个断点,代码似乎在地图第一次出现之前就会被执行(如你所说),但是地图仍然出现在antarctica的中心...也许我正在做点什么 – user2135738 2013-03-05 15:39:09