[아이폰] UITabBar를 추가하는 방법에 대한 "비 TabBar 템플릿"기반 자습서?
새를 만들고 UITabBarController
애플리케이션 창의 하위보기로보기를 추가 할 수 있습니다 . 그런 다음 다른보기 컨트롤러 ( "정보"및 "저장된 검색"섹션 용)를 해당 탭 표시 줄 컨트롤러에 추가합니다.
이것은 Interface Builder에서 가장 쉽게 수행 할 수 있습니다. 당신의에서 MainWindow.xib
, 캔버스 위에 탭 바 컨트롤러 객체를 드래그합니다. 그러면 두 개의 항목 (추가 된 각 뷰 컨트롤러에 대해 하나씩)이있는 탭 모음이 자동으로 생성됩니다. 탭 막대 컨트롤러 아래의 각보기 컨트롤러에 대해 ID 검사기로 이동하여 해당 클래스를 사용자 정의보기 컨트롤러 하위 클래스로 변경합니다. 그런 다음 속성 검사기를 표시하면 "NIB Name"필드가 있습니다. 다시 적절한 펜촉 이름으로 설정합니다. 그러면 사용자 정의 컨트롤러 뷰가 해당하는 nib 파일에서로드됩니다. 남은 일은 Interface Builder에서 각 탭의 이름을 지정하고 그래픽을 제공하는 것입니다.
IB가 마음에 들지 않으면 사용자 정의보기 컨트롤러를 탭 컨트롤러의 viewControllers
속성에 할당하고 selectedViewController
.
도움이 되었기를 바랍니다.
편집하다
약간의 계층 구조를 보여주는 것이 도움이 될 것이라고 생각했습니다! 귀하의 MainWindox.xib
구조는 다음과 같이 보일 수 있습니다 :
- AppDelegate
- UIWindow
- UITabBarController
- UITabBar
- AboutViewController ( "AboutViewController.xib"에서로드 된보기)
- 탭 표시 줄 항목-정보
- UINavigationController
- 내비게이션 바
- SavedSearchesViewController-루트 뷰 컨트롤러 ( "SavedSearchesViewController.xib"에서로드 된 뷰)
- 탭 표시 줄 항목
그리고 SavedSearchesViewController에서 적절한 뷰 컨트롤러를 정상적으로 푸시하여 탐색 콘텐츠를 제공합니다.
-------------------UITabBar 애플리케이션 템플릿으로 시작할 수 있으며 다음과 같은 작업이 매우 쉽다는 것을 알게 될 것입니다.
당신에 UIApplicationDelegate
방법에있어서 클래스,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
다음 UITabBarController
과 같이 인스턴스화 하십시오.
UITabBarController *tabBar = [[UITabBarController alloc] init];
그런 다음 탭 표시 줄에 나타날 뷰 컨트롤러를 설정합니다.
tabBar.viewControllers = viewControllers;
NSArray
이전에 UIViewController
하위 클래스로 만들 수 있는 것은 다음 과 같습니다.
NSArray *viewControllers = [[[NSArray alloc] initWithObjects:vc1, vc2, vc3, nil] autorelease];
그 후에는 창의 루트 뷰 컨트롤러로 설정하거나 하위 뷰로 추가하기 만하면됩니다 (동일한 효과가 있지만 첫 번째 접근 방식은 iOS 4 이전에는 작동하지 않습니다).
self.window.rootViewController = tabBar;
또는
[self.window addSubView:tabBar.view];
그리고
[tabBar release];
질문에서 말하는 종류의 탐색을 수행하려면 tabBar에 설정 한 뷰 컨트롤러가 다음 UINavigationController
과 같이 매우 쉽게 생성 할 수있는의 인스턴스 여야합니다 .
UINavigationController *vc1 = [[UINavigationController alloc] initWithRootViewController:firstViewControllerPage];
그리고 그 안에서 다른 뷰 컨트롤러를 푸시 (탐색) 할 수 있습니다.
[self.navigationController pushNavigationController:anotherViewController animated:YES];
이 간단한 리뷰가 조금 명확 해지기를 바랍니다. :)
출처
https://stackoverflow.com/questions/7415154