3

私のアプリは UINavigationController で実行されます。右側から新しいビュー コントローラーを押し込むと、右上の UIBarButtonItem (編集) が 1 ピクセル下に移動します。[編集] ボタンはそのまま残りますが、目立つグラフィックは下に移動します。

これは、バー ボタン アイテムの UIAppearance プロキシを設定した後にのみ発生することに気付きました。これはそれを行うための私のコードです:

UIImage *barButton = [[UIImage imageNamed:@"navBarBarButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)];
[[UIBarButtonItem appearance] setBackgroundImage:barButton
                                        forState:UIControlStateNormal
                                      barMetrics:UIBarMetricsDefault];

navBarBarButton.png は 52x31 のバー ボタン イメージです。

その他の潜在的に関連する情報:

  • これは iOS 6 シミュレータでのみ発生します — iOS 5 では問題ありません。
  • このアプリはストーリーボードを使用し、プッシュはセグエによって処理されます。
  • 1 ピクセルの変位は 1 回だけ発生します。つまり、ナビゲーション コントローラの別のレベルに移動しても、2 回目は押し下げられません。
  • [編集] ボタンのテキストはそのままです。ボタンのグラフィックのみが移動します。
  • 別のView Controller(つまり、ナビゲーションスタックの2番目)でアプリを起動しようとしました。バー ボタン アイテムは通常の (高い) 位置に表示され、新しいビューを押すと下に移動します。これは、特定のView Controllerに関連していないことを示唆しているようです。

誰かがこれを見たことがありますか、なぜこれが起こっているのか、またはボタンがシフトしないようにする方法を知っていますか? ありがとう。

4

2 に答える 2

3

誰かが同じ問題でここに来た場合、私はbarButton画像を標準の30pxの高さ(上記の31ではなく)にすることで問題を修正することができました。

于 2013-03-19T00:16:04.303 に答える