當前,在同一個標籤頁(用戶正在工作)上點擊,應用程序移至該標籤頁的第一頁。禁用當前標籤頁(UITabBarController)iPhone應用程序
我想在當前用戶正在工作的選項卡上禁用輕擊事件。
任何提示?
當前,在同一個標籤頁(用戶正在工作)上點擊,應用程序移至該標籤頁的第一頁。禁用當前標籤頁(UITabBarController)iPhone應用程序
我想在當前用戶正在工作的選項卡上禁用輕擊事件。
任何提示?
您試過tabBarController:shouldSelectViewController:委託方法?我希望這能幫助你。
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
id currentViewController = tabBarController.selectedViewController;
return (viewController != currentViewController);
}
如果標籤欄控制器的所有視圖控制器都是UINavigationControllers,則應該這樣做。
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
id nextVC = [(UINavigationController *)viewController topViewController];
id currentVC = [(UINavigationController *)tabBarController.selectedViewController topViewController];
return (nextVC != currentVC);
}
使用像下面將工作
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
if(self.tabBarController.selectedIndex==[[self.tabBarController viewControllers] indexOfObject:viewController])
return NO;
else
return YES;
}
你不需要if-else語句的else部分。如果它返回NO,它不能返回YES。 – CodaFi 2012-04-07 14:55:49
我發現的方法,但必須要什麼樣的代碼進去......,那我不知道。 – viral 2012-04-07 12:59:28
好的。看到我更新的答案。 – EmptyStack 2012-04-07 13:07:33
是的,所有的VC都是'UINavigationControllers'。爲('UINavigationController *)'強制轉換的唯一原因,或者僅僅是爲了良好的編程實踐。它也沒有。 – viral 2012-04-07 17:34:47