标签栏和Mapview问题

我真的很困惑这个问题。 我最近在我的应用程序中遇到了我的mapview选项卡的问题。 甚至到了重新开始的地步。 我只是想知道如果我是唯一有这个问题,或者我在这里做错了什么。

我对iOS相当陌生,但我知道如何定义一个mapview的中心和跨度,以便集中在用户的位置。

我已经build立了自己的看法,似乎工作,但是当我把它放在一个选项卡控制器…我有一个问题。 地图在显示用户位置时保持缩小。 它应该显示用户的位置放大。

我的MapViewController:

- (void)viewDidLoad { [super viewDidLoad]; [self.mapView.delegate self]; [self.mapView setShowsUserLocation:YES]; // Do any additional setup after loading the view from its nib. } -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { CLLocationCoordinate2D loc = [userLocation coordinate]; MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(loc, 500, 500); [self.mapView setRegion:region animated:YES]; } 

我也认为这可能与我在代表中创build选项卡控制器的方式有关。

我的应用程序委托:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. UIViewController *viewController1 = [[NWSWelcomeViewController alloc] initWithNibName:@"NWSWelcomeViewController" bundle:nil]; UIViewController *viewController2 = [[NWSMapViewViewController alloc] initWithNibName:@"NWSMapViewViewController" bundle:nil]; // UIViewController *viewController3 = [[NWSSettingsViewController alloc] initWithNibName:@"NWSSettingsViewController" bundle:nil]; self.tabBarController = [[UITabBarController alloc] init]; self.tabBarController.viewControllers = @[viewController1, viewController2, /* viewController3 */]; self.window.rootViewController = self.tabBarController; [self.window makeKeyAndVisible]; return YES; } 

我正在为iOS 5.1编写程序,而且正在使用最新的Xcode。

是的,我有mapView上启用的缩放设置。

我只想获取用户位置以将地图视图放大到用户的位置。

这行viewDidLoad

 [self.mapView.delegate self]; 

什么都不做(它试图发送消息selfself.mapView.delegate )。

它实际上并没有设置地图视图的delegate ,所以didUpdateUserLocation永远不会被调用。

你可能的意思是:

 [self.mapView setDelegate:self]; 

或这个:

 self.mapView.delegate = self; 

这种types的问题也可以通过故事板来解决。 转到故事板 – >控制器 – > mapView右键单击地图查看一个popup窗口将显示有一个委托拖动委托+点控制器 右键单击地图视图![] [1]