2011-11-14 4 views
1

MKUserTrackingBarButtonItemをツールバーに追加しました。しかし、それをクリックすることは何もしません。だから、私は通常のUIBarButtonItemのようにaddTargetを使う必要があると仮定しましたが、どちらもうまくいきません。MapView:MKUserTrackingBarButtonItemを使用して、マップのトラッキング状態を切り替える

setUserTrackingMode:animated:を変更できるように、そのボタンにメソッドを追加するにはどうすればよいですか?

MKUserTrackingBarButtonItem *trackingItem = [[[MKUserTrackingBarButtonItem alloc] initWithMapView:mapView] autorelease]; 
    UISegmentedControl *segmentedControl = [[[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"List", @"Detail", nil]] autorelease]; 
    segmentedControl.frame = CGRectMake(0, 0, 220, 30); 
    [segmentedControl setWidth:100.0 forSegmentAtIndex:0]; 
    [segmentedControl setWidth:100.0 forSegmentAtIndex:1]; 
    [segmentedControl setSelectedSegmentIndex:0]; 
    segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
    UIBarButtonItem *segmentedButton = [[[UIBarButtonItem alloc] initWithCustomView:segmentedControl] autorelease]; 
    UIBarButtonItem *pageCurl = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPageCurl target:self action:nil] autorelease]; 
    pageCurl.tintColor = [UIColor lightGrayColor]; 
    UIBarButtonItem *leftFlex = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease]; 
    UIBarButtonItem *rightFlex = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease]; 
    self.toolbar.items = [NSArray arrayWithObjects:trackingItem, leftFlex, segmentedButton, rightFlex, pageCurl, nil]; 

答えて

2
MKUserTrackingBarButtonItem *trackButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:mapView]; 
[trackButton setTarget:self]; 
[trackButton setAction:@selector(track:)]; 

[toolbar setItems:[NSArray arrayWithObjects:trackButton, nil] animated:YES]; 
関連する問題