1

私が試したのは、UIBarButtonItem に画像を追加し、その UIBarButtonItem をデフォルトの backBarButtonItem として設定することでした。

以下は私のコードです。

UIImage *backNavImg = [[UIImage imageNamed:@"backward_navigation_arrow"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

UIBarButtonItem *backBtnItem = [[UIBarButtonItem alloc] initWithImage:backNavImg style:UIBarButtonItemStylePlain target:self action:nil];

self.navigationItem.backBarButtonItem = backBtnItem;

問題は、そのバック バー ボタン項目と左余白の間にかなりのスペースがあることです。画像の赤色から強調表示しました。

ここに画像の説明を入力

プログラムからそのギャップを減らしたいです。どうすればそれを達成できますか。

以下のコードを試しましたが、何も起こりませんでした。

[backBtnItem setImageInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
4

1 に答える 1

1

leftBarButtonItems を追加することでこれを行うことができます

例:

UIImage *backNavImg = [[UIImage imageNamed:@"backward_navigation_arrow"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

UIBarButtonItem *backBtnItem = [[UIBarButtonItem alloc] initWithImage:backNavImg style:UIBarButtonItemStylePlain target:self action:nil];

UIBarButtonItem *negativeSpacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
negativeSpacer.width = -8;
self.navigationItem.leftBarButtonItems=@[negativeSpacer,barButton];
于 2016-09-14T10:39:21.873 に答える