2

ナビゲーションコントローラーの backBarButtonItem をこの画像に設定しようとしているだけです

ここに画像の説明を入力

タイトルが以前のView Controllerのタイトルと同じであるAppleのデフォルトの矢印ボタンの代わりに。これまでに得た最も近いものは、タイトルがまだオーバーレイされた状態で水平に引き伸ばされた上の画像です。それを取得するために、AppDelegate でこのコードを使用しました。

UIImage *backButtonImage = [UIImage imageNamed:@"back-button.png"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage
                                                  forState:UIControlStateNormal
                                                barMetrics:UIBarMetricsDefault];

タイトルを削除するにはどうすればよいですか (そしてボタンが引き伸ばされないようにするには)?

4

3 に答える 3

2

外観を使用すると、アプリのバック バー ボタン アイテムの背景画像を設定することになります。背景画像があるかどうかは、タイトルが表示されているかどうかとは関係ありません。デフォルトの戻るアイテムの代わりにカスタム バー ボタン アイテムを使用するには、この質問を見てください。

あなたの場合、外観をまったく使用せず、代わりに上記のリンクのようにバーボタンアイテムを作成し、代わりに使用したい場合があり-initWithImage:style:target:action:ます-initWithTitle:style:target:action:

于 2013-01-03T22:20:00.133 に答える
1

BarbuttonItem のカスタム イメージを次のように設定できます:-

- (void)viewDidLoad 
{
    UIImage* imageRight = [UIImage imageNamed:@"Home_btn.png"];
    CGRect frameimgRight = CGRectMake(100, 100, 50, 30);

    RightBtn = [[UIButton alloc] initWithFrame:frameimgRight];
    [RightBtn setBackgroundImage:imageRight forState:UIControlStateNormal];
    [RightBtn addTarget:self action:@selector(ActionhomeBtn)
                       forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *btnRight = [[UIBarButtonItem alloc]initWithCustomView:RightBtn];
    self.navigationItem.leftBarButtonItem = btnRight;

  [super viewDidLoad];

}

のように見える:-

ここに画像の説明を入力

その半分があなたであることを願っています

于 2013-01-04T05:26:21.683 に答える
0

このメソッドが機能することはわかっており、ViewDidLoad で呼び出す必要があります。

UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back-button.png"] style:UIBarButtonItemStyleBordered target:nil action:@selector(methodName)];

次に、ナビゲーション バーに割り当てる必要があります。

item.rightBarButtonItem = backButtonItem;

そしてプッシュ:

[self.navBar pushNavigationItem:item animated:NO];
于 2013-01-03T22:10:47.853 に答える