2012-01-27 5 views
0

では無視UIBarButtonItemsためcustomViews、私はbackBarButtonItemのためにこれを見ている:は、ドキュメントからleftBarButtonItem

このプロパティがnilである場合には、ナビゲーションアイテムはへの タイトル(10ページ)プロパティの値を使用しています適切な戻るボタンを作成します。 戻るボタンのカスタムイメージまたはタイトルを指定する場合は、 カスタムバーボタンアイテム(カスタムタイトルまたはイメージ付き)を に割り当てることができます。バーボタンアイテムを設定するときは、 にカスタムビューを割り当てないでください。ナビゲーション項目は、バックバーボタンのカスタムビュー を無視します。

これがleftBarButtonItemで同じかどうかわかりませんでしたか?基本的に私はこのコードを持っている:

UIButton *homeButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 44, 44)]; 
UIImage *homeImage = [UIImage imageNamed:@"icon_house.png"]; 
[homeButton setImage:homeImage forState:UIControlStateNormal]; 
[homeButton addTarget:self action:@selector(homePressed:) forControlEvents:UIControlEventTouchUpInside]; 
UIBarButtonItem *homeBBI = [[UIBarButtonItem alloc] initWithCustomView:homeButton]; 

前のiOS 5に、私はUIToolBarでこれを入れて、それが罰金を示しました。これをUINavigationControllerのbackButtonの右側にleftBarButtonItemとして配置します。私がそれを設定すると、全く表示されません。画像はありません。私はこのようないくつかのボタンを作成するときしかし、:

UIBarButtonItem *hButton = [[UIBarButtonItem alloc] initWithTitle:@"home" style:UIBarButtonItemStylePlain target:self action:@selector(homePressed:)]; 

とleftBarButtonItemとして設定し、それが表示されます。私は国境なしで自宅のボタンのカスタムアイコンをどうやって得ることができるのか分かりませんでした。私が使用するとき:

UIBarButtonItem *hButton2 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_house.png"] style:UIBarButtonItemStylePlain target:self action:@selector(homePressed:)]; 

私は私が欲しくない私のhouse_iconの周りの境界線を得る。ありがとう。

答えて

2

この

UIButton *TastoVersamento = [UIButton buttonWithType:UIButtonTypeCustom]; 
     [TastoVersamento setImage:[UIImage imageNamed:@"Versamento.png"] forState:UIControlStateNormal]; 
     [TastoVersamento addTarget:self action:@selector(Click_Versamento:) forControlEvents:UIControlEventTouchUpInside]; 
     [TastoVersamento setFrame:CGRectMake(0, 0, 40, 40)]; 
     [[self navigationItem] setLeftBarButtonItem:[[[UIBarButtonItem alloc] initWithCustomView:TastoVersamento] autorelease]]; 
0

backBarButtonItemおよびleftBarButtonItemが異なる。 leftBarButtonItemが指定されていない場合は、backBarButtonItemがデフォルトです。たとえleftBarButtonItemが設定されていてもleftItemsSupplementBackButtonYESの場合でも表示されます。

最初の例では、[homeButton sizeToFit]を試すことができます。フレームが正しく設定されていない可能性があります。

最後のコメントについては、と思うと、ナビゲーション項目ボタンから枠線を削除することができません。私は彼らがハードコーディングされていると確信しています。実際に、ボーダーを持つボタンを追加すると、ボタンから1つ、ナビゲーションアイテムから2つが表示されます。

+0

CRUDを試してみてください。フレームを前もって設定しています...いずれの場合でも、私はあなたの2番目の例があなたが望むものだと思います: 'initWithImage'。 (ボタンの中にあるボタンは変です) 'initWithImage'は私のものです。そして私が言ったように、私はあなたが国境を取り除くことができるとは思わない。 – smparkes

関連する問題