8

タイトルなしで戻るボタンを取得しようとしていますが、機能させることができません。私はobjective-cで本当に新しいです...

UIImage *backButtonImage = [[UIImage imageNamed:@"back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 30, 50)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage
                                                  forState:UIControlStateNormal
                                                barMetrics:UIBarMetricsDefault];

そのコードを使用すると、戻るボタンだけでなく、前のページのタイトルも表示されます。

クラス UIViewController を使用した実用的な例をいくつか見つけましたが、私の場合、コードは appDelegate.m ファイルにあります。

どうすればそれを機能させることができますか?

4

6 に答える 6

9

iOS 5 の外観プロキシを使用する、私が採用した非常に簡単なハックは次のとおりです (言うまでもなく、プロキシの利点は、すべてのナビゲーション バーに対するグローバルな変更です)。

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-400.f, 0)
                                                     forBarMetrics:UIBarMetricsDefault];

このメソッドは iOS 5 SDK で利用できるので、心配はいりません。


編集

画像の引き延ばしを避けるために、以下を使用します。

UIImage* image = [UIImage imageNamed:@"back"];
return [image resizableImageWithCapInsets:UIEdgeInsetsMake(0, image.size.width, 0, 0)];
于 2012-11-17T09:22:03.207 に答える
4

私の知る限り、あなたは外観プロキシを正しく設定しています。ここでの問題は、戻るボタンの新しいタイトルを設定することです。

これを行うには、動作に合わせてカスタムボタンを作成し、それを新しい戻るボタンとして使用します。initなど、上記のViewControllerをプッシュまたはポップする前にこれを設定します

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@""
                                                               style:UIBarButtonItemStyleBordered
                                                              target:nil
                                                              action:nil];

[self.navigationItem setBackBarButtonItem: newBackButton];
于 2012-10-27T22:58:40.300 に答える
0
UIImage *image1 = [UIImage imageNamed:@"image.png"];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:image1 forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

上記のコードは、戻るボタンで背景画像を設定するために使用します。

于 2012-10-30T07:01:27.830 に答える
0

私が理解しているように、戻るボタンのタイトルを変更する方法を尋ねています。

これが私がいつもやっている方法です

self.navigationItem.backBarButtonItem.title=@"My Title";

タイトルを付けないことで空に設定できると思います

self.navigationItem.backBarButtonItem.title=@"";

新しいビューをプッシュする前に、必ずこの関数を呼び出してください。

于 2012-10-31T11:00:57.020 に答える
-4

すでに書いたコードの後に​​次の行を追加するだけです:

[[UIBarButtonItem appearance] setTitle:@""];

それがうまくいくことを願っています。

于 2012-10-30T12:37:15.777 に答える