2013-05-17 2 views
0

기본 탭 응용 프로그램으로 시작하고, 자신의 viewcontroller로 스토리 보드에 탭을 추가했는데, 이미 선택된 탭이 다시 터치되면 어떻게 알 수 있습니까?Tab Bar Controller - 선택된 탭을 다시 선택하는 방법

탭 1은 다른 페이지를로드 한 웹보기로 이동합니다. 사용자가 홈 탭을 다시 누르면 강조 표시 될 때 시작된 초기 URL을 다시로드하고 싶습니다.

아이디어를 제공해 주셔서 감사합니다.

답변

0

UITabBarControllerDelegate 메서드 [– tabBarController:didSelectViewController:]은 탭 표시 줄을 터치 할 때마다 호출됩니다. 이 API 상태에 대한 문서 : 당신이 당신의 지정 탭을 다시 선택하고 검색 할 경우

In iOS v3.0 and later, this (selected view controller) could be the same view controller that was already selected.

그래서, 당신은이 위임 방법은 초기 URL을 다시로드 할 수 있습니다.

+0

I 기본 스토리 보드에서 TabBarController에 대리인을 추가하려고도있어 나는'code'CustomTabBarController를 가리 키도록 클래스를 변경하는 경우. 그러나 Outlets 섹션에서 대리인을 끌어 오는 방법이 작동하지 않습니다. 이 트리거하려면 노력하고있어 - (void) tabBarController : (UITabBarController *) tabBarController didSelectViewController : (UIViewController *) viewController { NSLog (@ "탭 터치"); } – Mark

+0

* something *을 위임자로 지정해야합니다. 즉, .h ("@ interface'") 파일의 어떤 객체 이건간에 "UITabBarControllerDelegate"를 선언에 추가해야합니다. –

+0

@interface CustomUITabBarController : UITabBarController Mark

0
@interface AHTabBarController() <UITabBarControllerDelegate> 
@property (nonatomic, strong) UIViewController* previousViewController; 
@end 

///

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 
{ 
    if ([viewController isEqual:self.previousViewController]) 
    { 
      NSLog(@"reselect tabbar"); 
    } 
    self.previousViewController = viewController; 
}