我有告訴我缺乏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