2011-05-07 5 views

답변

9

그것은 UITabBarController 통해의 UITabBar를 작성하는 것은 매우 간단하다. 다음 예제는 AppDelegate 클래스 내에서 작동해야합니다.

앱 위임 인터페이스

첫째, 인터페이스 내에서, 우리는 우리의 UITabBarController을 정의 할 수 있습니다.

UITabBarController *tabBarController; 

앱 위임 구현

그런 다음, 구현 파일의 application:didFinishLaunchingWithOptions: 방법 내에서, 우리는 우리의 탭 표시 줄 컨트롤러를 초기화합니다.

// Initialise our tab bar controller 
UITabBarController *tabBarController = [[UITabBarController alloc] init]; 

다음으로, 탭 표시 줄 컨트롤러에 추가 할보기 컨트롤러를 만들어야합니다. 탭의 제목/아이콘을 설정하려면이 정보에 몇 가지 정보를 추가해야하지만 마지막에 그 정보로 돌아갑니다. setViewControllers으로

// Create your various view controllers 
UIViewController *testVC = [[TestViewController alloc] init]; 
UIViewController *otherVC = [[OtherViewController alloc] init]; 
UIViewController *configVC = [[ConfigViewController alloc] init]; 

: 애니메이션 : 방법은 뷰 컨트롤러의 배열을 필요로, 우리는 배열에 우리의 뷰 컨트롤러를 추가 한 다음를 해제합니다. 합니다 (있는 NSArray로 유지됩니다.)

// Put them in an array 
NSArray *viewControllers = [NSArray arrayWithObjects:testVC, otherVC, configVC, nil]; 
[testVC release]; 
[otherVC release]; 
[configVC release]; 

그리고 단순히 뷰 컨트롤러의 배열로 UITabBarController가를 제공하고 우리의 창에 추가합니다.

// Attach them to the tab bar controller 
[tabBarController setViewControllers:viewControllers animated:NO]; 

// Put the tabBarController's view on the window. 
[window addSubview:[tabBarController view]];  

마지막으로, 당신은 당신의 dealloc 메소드 내 [tabBarController release];를 호출해야합니다.

// Create our tab bar item 
UITabBarItem *tabBarItem = [self tabBarItem]; 
UIImage *tabBarImage = [UIImage imageNamed:@"YOUR_IMAGE_NAME.png"]; 
[tabBarItem setImage:tabBarImage]; 
[tabBarItem setTitle:@"YOUR TITLE"]; 
+0

프로그래밍 방식으로 내 tabBarControllers를 만들 때 각 탭마다 navigationController를 만들고 각 navigationController는 rootViewController로 초기화됩니다. NavController가 없기 때문에 네비게이션 스택을 만들 수 없다는 것을 당신의 예제에서 보았습니다. –

+0

@ Wolfgang 나는 네비게이션 스택에 아이템을 밀어 넣거나/pop하고 싶을 것인가에 달려 있다고 생각한다. (내 예제는 매우 기본적인 "접근법"입니다.) –

+0

thnx 많이 작동합니다. – Kiran

0

이것은 프로그래밍 방식

UINavigationController *BandNavigationController3; 
AudienceSettingsViewController *audienceSettingsViewView =[[AudienceSettingsViewController alloc]initWithNibName:@"AudienceSettingsViewController" bundle:nil]; 
BandNavigationController3 = [[UINavigationController alloc]initWithRootViewController:audienceSettingsViewView]; 
BandNavigationController3.tabBarItem.title = @"Settings"; 
BandNavigationController3.tabBarItem.image = [UIImage imageNamed:@"settings.png"]; 

[BandNavigationController3.tabBarItem initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:4]; 
BandNavigationController3.navigationBar.hidden = YES; 

[bandTabBarArray addObject:BandNavigationController3]; 
[BandNavigationController3 release]; 
[audienceSettingsViewView release]; 

[tabBarController setViewControllers:bandTabBarArray]; 
[bandTabBarArray release]; 
+0

-1을 다음과 같이

보기 컨트롤러 구현 뷰 컨트롤러의 각 내부

은 또한 init 메소드 내에서 탭의 제목과 아이콘을 설정할 수 있습니다 잘못된 형식의 복사 및 붙여 넣기 작업이 잘못되었습니다. –

관련 문제