8

私はナビゲーションバーを持つnavigationControllerを持っています。私は本当に3つのUIBarButtonItemsを持っていると思います.1つは左に、もう1つは中央に、もう1つは右にあります。私は左右のものを追加することができますが、navControllerを使用すると、navBarアイテムプロパティにアイテムの配列を追加できないため、どのようにして中央に追加しますか?UIBarButtonItemをnavigationItem.titleViewに追加しますか?

UIButtonを、titleViewの場所にUIBarButtonItemのようにスタイルを付けて追加してもよろしいですか?

答えて

4

リンゴのapiから取ったものですが、基本的にUIButtonを持つカスタムUIViewを作成し、これをtitleViewとして使用することができます(leftBarButtonItemに関する注記に注意してください。titleViewは無視され、これはUINavigationItemのプロパティです。

titleView このアイテムがトップアイテムのときにナビゲーションバーの中央に表示されるカスタムビュー。このプロパティの値がnilの場合、この項目は最上位の項目であるとき

@property(アトミック、保持)UIViewのは、* titleView ディスカッション は、ナビゲーションアイテムのタイトルは、ナビゲーションバーの中央に表示されています。このプロパティをカスタムタイトルに設定すると、タイトルの代わりに表示されます。 leftBarButtonItemがnilでない場合、このプロパティは無視されます。

カスタムビューにボタンを含めることができます。 UIButtonクラスのbuttonWithType:メソッドを使用して、ナビゲーションバーのスタイルでカスタムビューにボタンを追加します。カスタムタイトルビューはナビゲーションバーの中央に配置され、サイズに合わせてサイズが変更されます。

+1

ドキュメントの 'leftBarButtonItem'によって' titleView'が無視されるというメモは面白いです。 iOS 4.3とiOS 5.1のテストでは、これは* false *であることがわかりました。私は左の項目としてボタンを追加し、タイトルとしてセグメント化されたコントロールを追加し、両方とも楽しく表示されます。 –

+1

@AdrianSchönig、あなたのコメントに関連する:http://stackoverflow.com/q/9690409/280789 – mon4goos

関連する問題