2011-02-10 6 views
0

私は、UINavigationBarを押したときにタイトルを変更する2つのボタンでUINavigationBarを設定しています。私が抱えている問題は、setTitle:@"IT"を使用して、setTile:@"THEM"ボタンを使用してサイズを変更した場合です。UINavigationBarボタンのサイズが変わりますか?

問題はありません。Photoshopで105x23ピクセルの2つの画像を作成し、そこにテキストを追加します。ボタンの大きさがまだ変わっているように見えますが、ボタンのサイズは透明でないピクセルに基づいています。

enter image description here & enter image description here両方105x23px

注:灰色の背景が透明で、私は怒って、各

// BUTTON CHANGES SIZE 
[self setNavBarItem:[[navBar items] objectAtIndex:0]]; 
[self setButtonStart:[navBarItem leftBarButtonItem]]; 
[self setButtonReset:[navBarItem rightBarButtonItem]]; 

[[self buttonStart] setImage:[UIImage imageNamed:@"IT.png"]]; 
[[self buttonReset] setImage:[UIImage imageNamed:@"THEM.png"]]; 

の大きさを示すために、ここでグレー私が思いついた解決策をしましたボタンのタイトルを常にテキストのスペーサーに設定して、画像を変更するたびにボタンのタイトルがボタンのタイトルと同じサイズになるようにします。それはうまく動作しますが、他の誰かがこれに遭遇し、代わりの解決策が見つかった場合、私はちょうど相棒になりたがっていますか?

// BUTTON MAINTAINS FIXED SIZE 
[self setNavBarItem:[[navBar items] objectAtIndex:0]]; 
[self setButtonStart:[navBarItem leftBarButtonItem]]; 
[self setButtonReset:[navBarItem rightBarButtonItem]]; 

[[self buttonStart] setTitle:@"_______"]; 
[[self buttonReset] setTitle:@"_______"]; 
[[self buttonStart] setImage:[UIImage imageNamed:@"IT.png"]]; 
[[self buttonReset] setImage:[UIImage imageNamed:@"THEM.png"]]; 

答えて

1

UIBarButtonItemのpossibleTitlesプロパティを設定します。それはまさにあなたが望むものでなければなりません。

可能なタイトルバーのボタンに表示される タイトルのセット。

@property(アトミック、コピー)NSSet * possibleTitles

対応 に十分な幅であることを正しく バーボタンアイテムをサイズする方法について システムにヒントを提供するために、ディスカッション
このプロパティを使用しあなたの最も広いタイトル。このプロパティの の値を、 オブジェクトに設定します。 バーのタイトルとして使用するすべてのタイトルが含まれています。 ボタンアイテムです。表示する実際の文字列 を使用してください。

このプロパティは、ナビゲーションバーまたは ツールバーに配置されたバーボタン に適用されます。

+0

うわー、今thats面白い!私はその財産を認識していなかった、私は確かにそれを行って、多くの感謝を与えるだろう。 – fuzzygoat

+0

これはUINavigationBarにUIBarButton項目が追加される前に発生する必要があるようですが、UINavigationBarとbarButtonsがXIBファイルを使用して作成されている場合、どのように処理するか知っていますか?現在、私はviewDidLoadの最上部でこの権利を試しましたが、そこには違いはありません。 – fuzzygoat

関連する問題