将 MKUserTrackingBarButtonItem 移动到导航栏的右侧

Move MKUserTrackingBarButtonItem to the right on Navigation Bar

有没有办法在附加到 navigationItem.rightBarButtonItem 时移动 MKUserTrackingBarButtonItem? 现在它看起来像这样:

我希望它看起来更像 Apple 的地图(编辑: 更靠近边缘):

有办法吗?我试过 ImageInsets 没有运气。

编辑: 这是viewDidLoad

中的代码
MKUserTrackingBarButtonItem *trackingButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.mapView.mapView];
trackingButton.imageInsets = UIEdgeInsetsMake( 0, -10, 0, 0 );

self.navigationItem.rightBarButtonItem = trackingButton;
button1.imageEdgeInsets = UIEdgeInsetsMake(-4, 0, 0, 0);

答案在这里:Can I change the position of navigationbar item?

注意,您更改了分配给 rightBarButtonItem 的按钮的插图,而不是 rightBarButtonItem 本身。

好吧,我根据这个问题的公认答案找到了一个可行的解决方案:How to Edit Empty Spaces of Left, Right UIBarButtonItem in UINavigationBar [iOS 7]

所以在我的代码中它看起来像这样

UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc]
                                initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
                                         target:nil action:nil];
negativeSpacer.width = -7.5;

MKUserTrackingBarButtonItem *trackingButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.mapView.mapView];

[self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:negativeSpacer, trackingButton, nil] animated:NO];

虽然它在 iPhone 6 Plus 上没有像预期的那样工作,但它是目前最好的解决方案。感谢大家的帮助。