2011-07-31 11 views
6

私はUITabBarに4つのUITabBarItemコンポーネント(IBからすべて作成された)を持つUIViewを持っています。タブバーアイテムをアクションにどのように接続しますか?

誰かがタブバーのアイテムをクリックしたときにIBAction関数が呼び出されるようにします。しかし、私はIB経由で私の行動にtabbaritemを接続することができません...私は "受けた行動"からドラッグを制御するが、それは私がtabbaritemに接続することはできません。

おかげ デショーン

答えて

5

あなたもUITabBarControllerを定義した場合、それはあなたの質問から明らかではありません。あなたは(私は仮定として、あなたは正しくIBで物事を定義した場合そうでない場合は、タブバーの項目をクリックすると、動作するはず)しなかった場合は

、移動するための方法は、あなたのUITabBarにUITabBarDelegateを割り当て、tabBar:didSelectItem:

持っを定義していますreference for UITabBarDelegate

+0

こんにちは...私のインターフェイスは次のようになります。@interfaceのMapViewController:のUIViewController DeShawnT

14

コントロールあなたのタブバーをIBの "ファイルの所有者"にドラッグし、それをデリゲートとして設定します。次のあなたのviewcontroller.mファイルにこのコードをドロップ:バックIBへ

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 
{ 
    if(item.tag == 0) 
    { 
     //party like its 1999 right here 
    } 
} 

移動し、タグを使用してタブバーの各タブバーの項目を設定します。あなたdidSelectItemの各ケースをテストしなければならないので、複数のセットを持っている場合は、別のタグなどを設定します。

+1

これは私のための最も有望な鉛のように聞こえますが、どこ一体これの「ファイルの所有者」でありますあなたについて話していますか?私はどこにも見ない。 – Lev

0

タブバーアイテムにターゲットアクションを設定することはできません。彼らは常に新しい視点を持っているべきです。唯一の方法は - あなたのタブバーアイテムがタッチされたと判断し、そのデリゲートでどのタブが押されたかを処理するデリゲートを使用する必要があります。

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 
{ 
    if(item.tag == 1) 
    { 
    } 
} 

xcodeのプロパティから、タグ値をタブバー項目に設定する必要があります。

+1

こんにちは! TabBar項目(「選択」アクションの代わりに)で「タッチダウン」アクションが認識されたい場合はどうなりますか?それはどうやって行なわれるのですか? – BadmintonCat

関連する問題