私のアプリは 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に関連していないことを示唆しているようです。
誰かがこれを見たことがありますか、なぜこれが起こっているのか、またはボタンがシフトしないようにする方法を知っていますか? ありがとう。