0

인터페이스 빌더에서 tabBar 응용 프로그램을 만들었으며 거기에 모든 탭과 탭 항목의 이름을 지정했습니다. 런타임에 프로그래밍 방식으로 내 탭의 이름을 찾고 검색 할 수 있습니까? 나는 viewControllers 배열의 NSLog을 수행 할 때 는, 내가 가진 전부입니다
( "" "" "" "" "" ) 분명히 좋은 없습니다TabBarApp에서 프로그래밍 방식으로 탭 이름을 검색 할 수 있습니까?

- I 더 자세한 정보를 얻을 필요가 있습니다.

또한 IB에서 탭의보기 컨트롤러에 태그, 제목 또는 레이블을 설정할 수 없습니다.

그럼 어떻게하면 다양한 탭에 앉아 있었는지 코드를 통해 확인할 수 있습니까? 아니면 Interface Builder를 사용하고 코드로 모든 작업을 수행해야합니까?

답변

1
for(id btn in TabObject.tabBar.items) 
    { 
     if([btn isKindOfClass:[UITabBarItem class]]) 
     { 
      UITabBarItem *sender=btn; 
      NSLog(@"%@",sender.title); 
     } 
    } 
난 그냥 코드를 붙여 넣은 복사 나는이 오류 받고 있어요
+0

그 작품 :-) 대단히 감사합니다 :-) – sirab333

1

각보기 컨트롤러 내의 탭 막대 항목에는 제목이 들어 있습니다.

for (UIViewController *viewController in tabBarController.viewControllers) { 
    NSLog(@"%@", viewController.tabBarItem.title); 
} 

내가 특정 탭을 참조 할 수있는 가장 좋은 방법은 각 뷰 컨트롤러에 애플 대리자에서 명시 적 IBOutlet들 것입니다 생각했다 가졌어요. 소수 이상의 것이 아니기 때문에 이것은 너무 많은 추가 코드가되어서는 안됩니다.

+0

: 각 뷰 컨트롤러에 앱 위임에서 IBOutlets를 지정의 관점에서 – sirab333

+0

"선언되지 않은 식별자 'var에'의 사용을"- 당신에게 의미합니까 각 탭? 다음과 같은 코드가 있습니다. "IBOutlet UITabBarItem * tab1, * tab2, * tab3;" 그런 다음 File 's Owner에서 각 탭으로 화살표를 드래그하십시오. – sirab333

+0

'var'은'UIViewController *'여야합니다 (미안 해요, 내 마음에 잘못된 언어). 콘센트를 뷰 컨트롤러에 만들고 싶으므로 '@property (nonatomic, retain) IBOutlet UIViewController *'로 선언하십시오. –