0

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;
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 に答える