我试图解决两个问题MKUserTrackingModeFollowWithHeading
在iOS 6中:
MKUserTrackingModeFollowWithHeading
工作简单,但它是紧张不安,并返回到MKUserTrackingModeFollow
几乎立即,特别是在高变焦的水平。该应用程序崩溃偶尔当反复改变
MKUserTrackingMode
:我得到EXC_BAD_ACCESS
在主线程,没有进一步的信息。 这是难以重现,但它的事件屡屡发生。
上什么可能导致这个有什么想法? 这感觉就像一个bug,但苹果自己的“地图”应用程序不会出现此行为。
为了隔离问题,我已经创建了一个带有单一视图应用MKMapView
和UIToolbar
(在的.xib成立),到我加入一个MKUserTrackingBarButtonItem
。 所述UIViewController
充当<MKMapViewDelegate>
下面是完整的实现代码:
#import "ViewController.h"
@implementation ViewController
@synthesize mapView, toolbar;
- (void)viewDidLoad
{
[super viewDidLoad];
// Add MKUserTrackingBarButtonItem to toolbar
MKUserTrackingBarButtonItem *trackButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.mapView];
[toolbar setItems:[NSArray arrayWithObjects:trackButton, nil] animated:YES];
}
- (void)mapView:(MKMapView *)mapView didChangeUserTrackingMode:(MKUserTrackingMode)mode animated:(BOOL)animated
{
// Log MKUserTrackingMode change
NSString *modeType = (mode == 0) ? @"None" : ((mode == 1) ? @"Follow" : @"FollowWithHeading");
NSLog(@"MKUserTrackingMode changed to: %@", modeType);
}
@end