2011-02-10 11 views
0

ボタンのサイズを設定するためにUIBarButtonItemプロパティpossibleTitlesを使用しようとしましたが、私の問題はUINavigationBarとUIBarButtonsがInterface Builder(XIBファイル)で作成され、UIBarButtonItemsが追加される前にpossibleTitlesを設定する必要があることです。 UINavigationBar。Interface Builderを使用しているときに設定できるタイトルはありますか?

// FROM viewDidLoad 
[self setNavBarItem:[[navBar items] objectAtIndex:0]]; 
[self setButtonStart:[navBarItem leftBarButtonItem]]; 

NSSet *buttonSizes = [NSSet setWithObjects:@"IT",@"FLIP",@"WARPCOIL", nil]; 
[[self buttonStart] setPossibleTitles:buttonSizes]; 

あなたがこれを行うことができればUINavigationBarとUIBarButtonItemがIBで作成された、または私は要素をより細かく制御を獲得するためにloadViewメソッドを経由して、プログラムでビューを指定する必要がない場合は誰でも知っていますか?

EDIT_001:

一つの解決策は、(Xcodeのに接続するIBOutletと)IBにUINavigationBarを追加することで、その後、Xcodeでプログラム的UIButtonBarItemsを作成して追加することができます。そうすれば、ボタンをUINavigationBarに追加する前にpossibleTitlesを設定することができます。

答えて

3

IBでwidthプロパティが0に設定されている場合、UIBarButtonItemはTitleに基づいて幅を変更します。

固定幅を取得するには、Titleプロパティを最長の単語(あなたの場合はWARPCOIL)に設定してから、単語の幅が一致するようにwidthプロパティを設定します。

コード内のタイトルを変更すると、ボタンはその固定幅にとどまります。

+0

ありがとう、私はそれを行ってくれます。 – fuzzygoat

関連する問題