2013-10-03 51 views
5

設定中 self.navigationItem.rightBarButtonItem = self.editButtonItem; in viewDidLoad これはiOSで完璧に動作します< 7インチ7インチ以下では、タイトルが中央にないのはなぜですか?私は間違って何をしていますか?またiphone7 iphone rightBarButtonItemタイトルが正しく表示されない/中央に表示されない

enter image description here

が戻るボタンがあり、少なくとも一度私が取得クリックされていません。 enter image description here

の背景を:私が手にクリックされた後 enter image description here

ボタンはアプリデリゲートに設定されています:

// Change the appearance of back button 
UIImage *backButtonImage = [[UIImage imageNamed:@"backbtn"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 13, 0, 6)]; 
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

// Change the appearance of other navigation button 

UIImage *barButtonImage = [[UIImage imageNamed:@"btn"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 6, 0, 6)]; 
[[UIBarButtonItem appearance] setBackgroundImage:barButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 
+0

これを回答として追加し、それに印を付けるか、質問を削除する必要があります。 – Wain

+0

残念ながら、iOS 7ではこれをやってはいけないのかどうか分かりません。ボタンとバーボタンの背景イメージを使用するはずがありませんか?私はこれをすることができますか?また、私はそれを答えとしてマークすることができません。 – kos

+0

あなたは右のバーのボタンのタイトルを中心にしています。どうすればこれを達成しましたか – Sandeep

答えて

0

iOS7でのナビゲーションで同じ問題が発生しました...

複数の回答がありますhereandthereしかし、それらは参考になりません。 UINavigationBarのbackIndicatorImageを使用すると、上部に固執し、それを修正する方法がわかりません。

私はhere

は、このようなUIBarButtonItem作成示唆されたものをやってしまった:

UIBarButtonItem* backBtn = [[UIBarButtonItem alloc] initWithTitle:@"Back" 
                  style:UIBarButtonItemStylePlain 
                  target:self 
                  action:@selector(backButtonAction:)]; 

backBackgroundImage = [UIImage imageNamed: @"back_btn"]; 
backBackgroundImage = [backBarButtonBackground resizableImageWithCapInsets: 
                  UIEdgeInsetsMake(0.0, 14.0, 0.0, 5.0)]; 
[backBtn setBackgroundImage:backBackgroundImage 
        forState:UIControlStateNormal 
       barMetrics:UIBarMetricsDefault]; 

[backBtn setTitlePositionAdjustment:UIOffsetMake(5, 0) forBarMetrics:UIBarMetricsDefault]; 

をしてから、ナビゲーションコントローラの戻るボタンとして使用します。

+1

これはどこで実行されるかによって動作しないかもしれませんが、私はどこでも再利用できるようにアプリケーションデリゲートのナビゲーション項目ボタンを設定しようとしていました。だから私はタイトルのオフセットを設定することはうまくいくとは思っていないが、試してみるだろう。今のところ私はすべての画像の使用を取り除いた。これは、画像がナビゲーションバーで初めて使用されるときに表示されない問題も解決しない可能性があります。 – kos

+0

はい、そうです。しかし、あなたが見ることができるように、iOS7はそれぞれのViewControllerでそれを行うことを諦めています。また、次の奇妙なことに注意してください:システムコントローラー(例:MFMailComposeViewController)はあなたのleftBarButtonItemのフォントをモーダルで表示するときに設定します。そのことに注意してください。それがこれまでに文書化されるならば、shureしないでください。 –

+0

また、編集ボタンでも同じことができました。そして私はそれもカスタム1つに置き換えなければならなかった。 –

関連する問題