#iphone #objective-c #ios #mkmapview #mapkit
#iPhone #objective-c #iOS #mkmapview #mapkit
Вопрос:
Я добавил MKUserTrackingBarButtonItem на свою панель инструментов. Но нажатие на него ничего не дает. Итак, я предположил, что мне нужно использовать addTarget
как обычный UIBarButtonItem, но это тоже не работает.
Как я могу прикрепить метод к этой кнопке, чтобы я мог изменить 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];
Ответ №1:
Я думаю, вам следует инициализировать MKUserTrackingBarButtonItem с помощью этого метода:
– initWithMapView:
Обратитесь к документации: http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKUserTrackingBarButtonItemClassRef/Reference/Reference.html
Ответ №2:
MKUserTrackingBarButtonItem *trackButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:mapView];
[trackButton setTarget:self];
[trackButton setAction:@selector(track:)];
[toolbar setItems:[NSArray arrayWithObjects:trackButton, nil] animated:YES];