2009-05-04 12 views
0

ユーザーが特定のUITabBarアイテムを選択したい場合は、まずそのアイテムを選択できるかどうかチェックします。彼ができなければ、警報を発しなさい。ユーザーが特定のTabBarItemを選択できるようにする方法

ユーザーが特定のアイテムを選択したときに発生するデリゲートメソッドがありますが、アイテムが無効な場合は機能しません。

これを達成する最も良い方法は何ですか?

ありがとうございました。

答えて

1

これは良いUIデザインの習慣ではありません。ボタンが無効になっている場合、ユーザーの操作には一切反応しません。無効になっていない場合は、何かを行う必要があります。希望のアクションを実行するのではなく、エラー/警告を表示する無効化されていないボタンがあることが正当化される唯一のケースは、アクションが実行できない最後の瞬間にしか判断できない場合です。

あなたがUITabBarControllerDelegateからデリゲートメソッドを使用する必要があります
0

なぜボタンが無効になっていますか?毎回ボタンにアクセスできるかどうかをチェックするだけで、ボタンを無効にすることはできませんか?

+0

私はそれを有効にすることはできません - それらの値は非常に頻繁に変化しています。したがって、ユーザーが特定のアイテムを選択した場合にのみチェックする方がはるかに効果的です。 –

+0

ツールバーの項目を選択したときにアクセス権がある場合は、チェックを実行するだけです。多分私はあなたの問題を見逃しています。 – Roger

0

:その方法では

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 

、UITabBarControllerのselectedIndexを見ることで、あなたのチェックは、ユーザが選択しようとしたかを確認します。また、あなたはUITabBar自体への参照を取得し、その性質を調べることができます。

UITabBar* tabBar = [tabBarController.view viewWithKindOfClass:[UITabBar class]]; 

あなたが警告を発射し、離れてそれを変更するために、整数tabBarController.selectedIndexを割り当てるよりも、タブが選択できるようにしたくない場合このタブから

警告:上のポスターが示すように、これは他のiPhoneアプリと一致したUIデザインの練習ではありません。

関連する問題