2012-01-08 5 views
2

私はInterface Builderを使用してツールバーを作成しました。私は様々なIBActionメソッドに接続されているツールバーにいくつかのボタンを持っています。私がしたいことは、1つのアイテムを選択するときに、その色合いを変えることによって別のアイテムを視覚的にグレーにすることです。UIToolBarの項目をプログラムで変更する

BarButtonItemへの参照を取得するにはどうすればよいですか?どこにラベルを付けることができないのかわかりません。

更新

私はので、私は今それにアクセスもを持っているツールバーのIBOutletを作成しました。残念ながら私がtintColorを設定しようとするとクラッシュします。ここに私のコードは次のとおりです。

UIBarButtonItem *penButton = [_toolBar.items objectAtIndex:3]; 
UIBarButtonItem *crossButton = [_toolBar.items objectAtIndex:4]; 

penButton.tintColor = [UIColor darkGrayColor]; 
crossButton.tintColor = [UIColor whiteColor]; 

エラーがスローさ:「:キャッチされない例外により 'NSInvalidArgumentException'、理由にアプリを終了

- [UIBarButtonItem setTintColor:]:認識されていないセレクタは、インスタンス0x631df50に送信しました「

+0

あなたはどのiOSバージョンをテストしていますか? – NJones

+0

現在ターゲットしている5.0 – Chris

+1

5.0以上を実行しているデバイスまたはシミュレータでテストしていますか? 5.0より下のデバイスでこのコードを実行すると、この正確なエラーでクラッシュします。 – NJones

答えて

6

はこれを試してみてください:

NSArray *items = [myUIToolbar items]; 
for (UIBarButtonItem *barButton in items) { 
    //do something with button 
} 
+0

myUIToolbarという名前をどうやって付けますか?私はインタフェースビルダーでオプションを見つけることができません! – Chris

+0

IBで、ツールバーの新しい参照コンセントを.hファイルに追加し、必要な名前を付ける。 –

+0

あなたがそれを書いた前にそれを理解したにもかかわらず、色合いを変えようとするとクラッシュする - 私は質問を更新する – Chris

関連する問題