タイトルが示すように、1つを除くすべてのタブバーをロックできるようにしたいと思います。そして、ユーザーがアクションを完了した後でのみ、残りのすべてのタブバーを有効にします。どうやってやるの?
7981 次
3 に答える
15
私はそれを試していませんが、ドキュメントtabBarController:shouldSelectViewController:
によると、デリゲートからNOを返すことができます。
[更新]好奇心から試してみました-うまくいくようです。「タブバーアプリケーション」テンプレートから新しいプロジェクトを作成してから、-viewDidLoad
FirstViewControllerのに移動します。次の行を追加します。
[self.tabBarController setDelegate:self];
次に、デリゲートメソッドを実装します。
-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if (userHasCompletedAction) {
return YES;
}
return NO;
}
<UITabBarControllerDelegate>
.hファイルに準拠することを忘れないでください!
お役に立てば幸いです。
于 2011-08-12T09:14:37.407 に答える
4
このメソッドを実装する必要があります
- (void)tabBarController:(UITabBarController *)tabBarController1 didSelectViewController:(UIViewController *)viewController {
if ([tabBarController1 selectedIndex]==0) {
UITabBarItem *tabBarItem = [[[[self tabBarController]tabBar]items] objectAtIndex:1];
[tabBarItem setEnabled:FALSE];
}
}
必要なタブバーアイテムを無効にするには、このようなことを行う必要があります。
于 2011-08-12T09:17:47.607 に答える
0
のメソッドtabBar:didSelectItem:
がUITabBarDelegate
役立つ可能性があります。
于 2011-08-12T09:13:25.560 に答える