2012-08-14 5 views
0

"UIbutton"역할을하는 TabBar의 항목을 만드는 방법을 찾으려고합니다. 이 항목을 누르면 ibaction 메서드로 작동합니다.Tabbar 항목을 ibaction에 연결했습니다.

나는대로 몇 가지 구현을 시도 :

-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{ 
    } 

하지만이 방법은 작업을 얻을 수 없습니다.

tabbar의 항목 기능을 가짜로 만들고, 예를 들어 UIActionSheet를 열 때 가장 좋은 해결책은 무엇입니까?

+0

탭 바 대리인을 할당 했습니까? –

+1

HCI 가이드 라인을 준수하겠다는 제안을하는 것으로 의심 스럽지만 의심 할 여지없이 설계되었습니다! – Ravi

답변

-1

선택한 탭 표시 줄보기의 viewDidLoad 방법에서 작업 방법을 호출하십시오.

0

시도해 볼 수 있습니다. tabBarController shouldSelectViewController 대리자 메서드입니다. 이것을 무시하십시오. ActionSheet를 표시 할 탭에서 NO를 반환하고 대신이 메서드에서 ActionSheet를 인스턴스화합니다.

이 탭 대신 자리 표시 자 UIViewController가 있어야합니다.

위에서 언급했듯이, 이것은 Apple HIG에 위배되며 앱이 거부되는 이유 일 수 있습니다.

1

viewController에서 IBOutlet 및 UITabBarDelegate를 사용해보십시오.

@interface MyViewController : UIViewController <UITabBarDelegate> { 
    IBOutlet UITabBar* tabBar; 
} 
@end 

인터페이스 빌더의 IBOutlet에 UITabBar를 연결하십시오.

당신의 ViewController의 viewDidLoad에 방법에서 '자기'에 대리자를 설정합니다

-(void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
    tabBar.delegate = self; 
} 

그리고 탭을 구별 할 수있는 방법으로 위임 방법을 설정 :

-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 
{ 
    NSLog(item.title); 
    if([item.title isEqualToString:@"some label"]) { 
    // do something for this specific button 
    } 
} 

을 (이 오래된입니다 게시물,하지만 난 같은 질문을했다. 바라기를 이것은 다른 사람에게 동일한 문제가 저장됩니다.)

관련 문제