【问题标题】:MapView: Use MKUserTrackingBarButtonItem to toggle map tracking stateMapView:使用 MKUserTrackingBarButtonItem 切换地图跟踪状态
【发布时间】:2011-12-03 03:23:10
【问题描述】:

我已将 MKUserTrackingBarButtonItem 添加到我的工具栏。但是,点击它什么也没做。所以,我假设我需要像普通 UIBarButtonItem 一样使用addTarget,但这也不起作用。

如何将方法附加到该按钮,以便更改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];

【问题讨论】:

    标签: iphone objective-c ios mkmapview mapkit


    【解决方案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];  
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-27
        • 2010-09-05
        • 1970-01-01
        • 2021-08-08
        • 2012-11-16
        • 2011-11-14
        • 1970-01-01
        相关资源
        最近更新 更多