2011-07-19 24 views
1

メインウィンドウにタブバーがあります。それぞれの個々のタブ項目には独自のビューがあります。別のタブ項目ビューから他のタブ項目を有効/無効にする方法はありますか?ビューからタブバーオブジェクトにアクセスする方法

+0

有効/無効をどういう意味ですか? UITabbarcontrollerを使用していますか? –

+0

私は、別のタブ項目にアクセスしてそのsetEnabledをFALSEまたはTRUEに変更できることを意味します。 – saman01

+0

タブ0に関連付けられたビューコントローラで、タブ1を無効にしたいとします。 – saman01

答えて

0

他のタブにあるオブジェクトの設定を変更したいと思います。 Uは、NSUserDefaultsを使用するか、または設定を変更したいビューに値を渡すことでこれを実現できます。 現在のタブビューから別のタブのボタンを無効にしたい場合の例を考えてみましょう。 NSUserDefaultsを特定の値に設定し、それをキーに割り当てます。 Uは、NSUserDefaultsを使用して、別のビューの特定のキーに設定されている値uに再度アクセスできます。 Uは、他のタブビューのviewWillAppearメソッドで設定された値かどうかを確認できます。その状態に基づいて、コントロールを有効または無効にすることができます。お役に立てれば。

あなたが行うことができますあなたのViewControllerで
+0

返信いただきありがとうございます。私はこれが良いテクニックだと思って、後でそれを使うかもしれません。しかし、それが私の現在の状況にかなり当てはまるとは思わない限り、 – saman01

+1

続き - 私はタブの項目を0,1,2,3と言いましょう。タブ0では、タブ1を無効にするか、タブ1を有効にしたいと思います。あなたが説明したように、タブ1が必要ですビューが読み込まれた後、私は変更することができます。しかし、タブ1が無効になっていて、そのタブが読み込まれない場合、どうすれば有効にできますか? – saman01

+0

ありがとうございます。これは、私が必要とするソリューションですが、タブ0に関連付けられたビューコントローラ内の次のステートメントは次のとおりです。UITabBar * tabBarItem = [[self.tabBarController items] objectAtIndex:1]; "インスタンスに送信された認識できないセレクタ..."をスローします。どんな考え? – saman01

0

self.tabBarController

これはあなたのViewControllerが置かれているタブバーコントローラを提供します。そこから、他のviewcontrollersにアクセスすることができ、タブなどなど

5

あなただけtabBarControllerにビューコントローラを使用してtabBarItemsにアクセスすることができます。任意のビューコントローラからtabBarItem 1を無効にするには、次のコードを使用します。

UIViewController *vc_1; 
vc_1 = [self.tabBarController.viewControllers objectAtIndex:1]; 
[vc_1 tabBarItem].enabled = NO; 
関連する問題