7

UIBackbutton が表示されないという問題があり、何が原因かわかりません。

これは、戻るボタンの画像を作成するためのコードです。最初の ViewController にあります。

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

最初に次のビューに入ると (ボタンからのセグエによって行われます)、ボタンは表示されませんが、戻るテキストは表示されます。戻るボタンを押すと、画像が表示され、次にクリックしたときに表示されたままになります。

これが私のコードの問題なのか、それが含まれているファイルの問題なのか、それとも iOS 7 の問題なのかはわかりません。

4

4 に答える 4

2

UIBarButtonItem を使用して、戻るボタンの背景を明示的に設定すると、もっとうまくいくかもしれません。

iOS 7 で戻るボタンを動作させようとした私自身の試みでは、外観プロキシは信頼できませんでした。最初にボタンを表示したときに背景が正しく表示されないという同じ問題が発生しました。

于 2013-09-16T19:23:17.917 に答える
0

色を変えるだけなら、これを試してみてください[[UINavigationBar appearance] setTintColor:[UIColor redColor]];

于 2013-09-24T03:25:18.043 に答える
0

戻るボタンの画像を変更したい場合は、次の 2 行のコードを記述するだけです。

[self.navigationBar setBackIndicatorImage:[UIImage imageNamed:@"icon-back"]];
[self.navigationBar setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"icon-back"]];

また、UINavigationController のサブクラスを作成すると、ナビゲーションバーとプッシュ & ポップ コントローラーを簡単にカスタマイズできます。

于 2016-02-22T08:43:46.017 に答える
-1

これを試して:

self.navigationItem.hidesBackButton = NO;

それをナビゲーションバーに追加しようとしている場合:

 UIImage* image4 = [UIImage imageNamed:@".....png"];
    button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 26, 26)];
    [button setBackgroundImage:....png forState:UIControlStateNormal];
    [button addTarget:self action:@selector(Selector)
         forControlEvents:UIControlEventTouchUpInside];
    [button setShowsTouchWhenHighlighted:YES];

    UIBarButtonItem *action = [[UIBarButtonItem alloc] initWithCustomView:button];
    NSArray *arr =[[NSArray alloc]initWithObjects:action, nil];
    self.navigationItem.rightBarButtonItems = arr;
于 2013-09-13T12:02:21.940 に答える