何らかの理由で、uibarbuttonアイテムにカスタムの背景画像を設定すると、次のようになります。
UIImage *button30 = [[UIImage imageNamed:@"nav_bar_button_orange.png"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)];
[[UIBarButtonItem appearance] setBackgroundImage:button30 forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
私のボタンは、水平方向の反転で「ジャンプ」またはその幅(またはより正確にはテキストの両側のパディング)を更新しています。
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStylePlain handler:^(id sender) {
[self dismissViewControllerAnimated:YES completion:nil];
}];
ハンドラービットを無視します。BlocksKitを使用しています。
あなたはそれがここで起こっているのを見ることができます:http ://screencast.com/t/HZRBS70OT6wt
追加情報
これは、コードではなくストーリーボードのボタンを配置したときにも実行されます。水平反転でのみ発生するようです。
原因:
どうやらそれはカスタムフォントの使用と関係があります。最初は幅を正しく計算していないようです。
サンプルプロジェクト
このサンプルプロジェクトで問題を再現しました。誰かがこれを修正する方法を知っていればいいと思います。誰もそれに遭遇していないとは信じられません。