0

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

我的形象

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

在此处输入图像描述

有没有办法做到这一点?我试过 ImageInsets 没有运气。

编辑:这是 viewDidLoad 中的代码

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

self.navigationItem.rightBarButtonItem = trackingButton;
4

2 回答 2

1
button1.imageEdgeInsets = UIEdgeInsetsMake(-4, 0, 0, 0);

这里的答案:我可以改变导航栏项目的位置吗?

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

于 2015-02-26T10:29:23.910 回答
1

好吧,我找到了一个基于这个问题的公认答案的工作解决方案:如何在 UINavigationBar [iOS 7] 中编辑左、右 UIBarButtonItem 的空白空间

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

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 上无法正常工作,但它是目前最好的解决方案。感谢大家的帮助。

于 2015-03-04T08:57:58.267 回答