문제 해결. 매우 우아하지만 작동하지 않습니다. 나는보기가없는보기 컨트롤러로 Tab 3을 가짜로 만들고 tabItem 3을보기 컨트롤러를 표시하는 트리거로 만듭니다. 예 :
duplicatedTab3 = [[Tab3 alloc] init]
[tabbarController setViewControllers:[NSArray arrayWithObjects:tab1,tab2,tab3,tab4,tab5,nil]];
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
BOOL flag = NO;
NSUInteger tabIndex = [tabBarController.viewControllers indexOfObject:viewController];
if (viewController == [tabBarController.viewControllers objectAtIndex:tabIndex] &&
tabIndex != tabBarController.selectedIndex) {
if ([viewController isMemberOfClass:tab3]) {
if (![duplicatedTab3 isShowing])
[duplicatedTab3 show];
else
[duplicatedTab3 hide];
}
else {
flag = YES;
}
}
return flag;
}