1
のdidSelectViewControllerイベントにビューコントローラを開くキャンセルすることができます私はUITabBarControllerDelegateイベントを実装:上記の関数では、どのように私はUITabBarControllerDelegateプロトコル
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
if (viewController == [tabBarController.viewControllers objectAtIndex:0]) {
//HERE:check some condition and cancel opening the viewController if needed
}
}
を、いくつかの条件をチェックした後、私はアプリは他にいくつかのことを行うたい(すなわち、別のを開きますビュー・コントローラー)を使用することができます。イベントの振る舞い:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
は私の要求と一致しません。
shouldSelectViewControllerがあなたの要求にどのように合致しないのですか?あなたの状態を確認するだけです。それが 'something else'部分と一致する場合はNOを返し、そうでない場合はそのメソッドでYESを返します。 – mrueg
私はバーアイテムに照明効果を持たせ、ユーザーがそれに触れたときに別のビューを開くことを望みます。 shouldSelectViewControllerを使用してNOを返す場合、これらの項目には何の影響もありません。 –