2009-08-05 13 views
-1

TabBarItemをTabBarsタブのViewController内から無効にする方法を探しています。私はこれがView Hierarchyについてのものなのか、本当に何を検索するのか分からない。私はたくさん試しましたが、解決策は出てこなかった。ViewControllerの1つからTabBarItemにアクセスする

今私はタブバーをインスタンス化するとき(アプリケーションの代理人の中で)、シングルトンオブジェクト内のタブバーへの参照を保存することでそれを処理しました。しかし、私はこれが最良の方法だとは思わない。

おかげで、乾杯、 ニルス

答えて

0

たぶん私はあなたが欠けているものを理解していないが、私は(そして私が仕事をしたいタブボタンを選択し、インターフェイスビルダーに行くことによってタブバーのボタンをdissabledています小さな青色のハイライトカラーは画像のプレースホルダーにのみあり、小さなボックスには?が付いています) - >ツールメニュー - >インスペクター - >タブバー項目プロパティー(インスペクターの左にある最初のタブ) - >下のラジオボタンに「Enabled」と表示されている - >これを選択解除します。最初のタブの単純な読み込み画面としてこれを使用するので、私のために働きます。希望が役立ちます。 カーク

1

プロパティで変数UITabBarController *myTabBarController;を作成し、あなたがTabBarItemを無効にしたいあなたのViewControllerでは、私は同じ問題を抱えていたし、私は解決策を発見した(私はそれが少し汚れて見つける。)

。戻ってあなたのViewControllerクラス(MyViewController)に今

MyViewController * vc = (MyViewController *)[navigationController.viewControllers objectAtIndex:0];// O the index of the first view controller replace it with the index of the needed viewController 
vc.myTabBarController = myTabBarController; // pass your TabBarController to your ViewController 

tabBarItemを無効にするには、このコードを使用します:

UITabBarItem *mapTabBarItem= [[myTabBarController.tabBar items] objectAtIndex:1]; // I want to desable the second tab for example (index 1) 
[mapTabBarItem setEnabled:NO]; 
あなた Tabbarcontroller viewDidLoadにこのコードを入れて管理するクラスで

これは最善の方法ではありませんが、それはうまく動作します:-)

関連する問題