WAB_EARTH

自由を手に入れたい人へ。一緒に世界を見て歩こう。

*

【Objective-c】ナビゲーションバーの戻るボタンのフォントサイズを小さくする方法

      2013/10/06

今まではちゃんと戻るボタンの名前が前の画面のタイトル名になっていたのに、なぜかXcode5でビルドしてから特定のページだけ戻るボタンの名前が「<Back」となってしまっている

なぜなんだ・・・
と調べていてもなかなかヒットせず、もしかして
前の画面のタイトルの文字列が長すぎてタイトルにぶつかるくらい長いと、自動でBackって文字になってしまっているんじゃないか?
と思い前の画面の文字列を削ってみると・・・

予想通りちゃんと文字列が表示されました!

でもタイトルは変えたくない;;
ってことなんで、フォントサイズを小さくしてちゃんと収まるようにすればいいじゃない~!と思いフォントサイズを小さくすることに!

こちらがソースコードです!

戻るボタンが表示される遷移元のページでこれを指定

UIBarButtonItem *backButton = [[UIBarButtonItemalloc]init];
[backButton setTitleTextAttributes:[NSDictionarydictionaryWithObjectsAndKeys:[UIFontsystemFontOfSize:12],UITextAttributeFont, nil] forState:UIControlStateNormal];


self.navigationItem.backBarButtonItem = backButton;

つまりどういうことかというと「UIBarButtonItem」に色々な属性(Dictionary型で定義されてる)があってその中の「UITextAttributeFont」というテキストをいじれる属性があるので、その属性に「UIFontsystemFontOfSize:12」(数字が大きさ)と指定してあげることによってフォントサイズを自分の好きな大きさにすることができる!!

属性はDictionary型に色々入ってるだけなのでそれをNSLogで出力してみれば何が入ってるかわかるはず!
他の属性はまだ試してないですが、色々いじってみるとおもしろいかもですねーb

 - iPhoneアプリ開発