2011-08-03 3 views
2

그래서 지금은 8 가지보기가있는보기 기반 응용 프로그램을 만들었습니다. 3 개의 뷰에 탭 막대를 표시하고 싶습니다. 이 탭 표시 줄에는 사용자가 3 개의보기로 전환 할 수있는 3 개의 항목이 있습니다.뷰 기반 응용 프로그램에 3 개의 항목이있는 탭 표시 줄 추가

어떻게 그렇게해야합니까? 고마워.

AppDelegate.h

@interface LoginPageAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> { 
    UIWindow *window; 
    LoginPageViewController *viewController; 
    UITabBarController *tabBarController; 

} 

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet LoginPageViewController *viewController; 
@property (nonatomic, retain) IBOutlet IBOutlet UITabBarController *tabBarController; 


@end 

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
    tabBarController = [[UITabBarController alloc] init]; 
    tabBarController.delegate=self; 

    RequestPage* requestPage = [[RequestPage alloc] init]; 
    UIViewController *RequestPageView = [[UIViewController alloc] initWithRootViewController:requestPage]; 

    StatusPage* statusPage = [[StatusPage alloc] init]; 
    UIViewController *StatusPageView = [[UIViewController alloc] initWithRootViewController:statusPage]; 
    NSArray* controllers = [NSArray arrayWithObjects:RequestPageView, StatusPageView, nil]; 
    tabBarController.viewControllers = controllers; 

    [window addSubview:tabBarController.view];   

    [self.window makeKeyAndVisible]; 

    return YES; 
} 

RequestPage.m

- (id)init { 
    self.title = @"Request Page"; 
    UIImage* anImage = [UIImage imageNamed:@"3.png"]; 
    UITabBarItem* theItem = [[UITabBarItem alloc] initWithTitle:@"Request Page" image:anImage tag:2]; 
    self.tabBarItem = theItem; 
    [theItem release]; 
    return self; 
} 

답변

3

보기 기반 응용 프로그램으로 시작해야합니다. appDelegate 파일에 UITabbarController을 작성하십시오.

Appdelegate.h

UITabBarController *tabBarController; 
// set properties 

Appdelegate.m

// Synthsize 

tabBarController = [[UITabBarController alloc] init]; 
tabBarController.delegate=self; 

//Adding Search,Nearby,Map,AboutUs,Favorites Tabs to tabBarController 
Search * search = [[Search alloc] init]; 
UINavigationController *searchNav = [[UINavigationController alloc] initWithRootViewController:search]; 

Nearby* nearby = [[Nearby alloc] init]; 
UINavigationController *nearbyNav = [[UINavigationController alloc] initWithRootViewController:nearby]; 

Map* map = [[Map alloc] init]; 
UINavigationController *mapNav = [[UINavigationController alloc] initWithRootViewController:map]; 

AboutUs* aboutUs = [[AboutUs alloc] init]; 
UINavigationController *aboutUsNav = [[UINavigationController alloc] initWithRootViewController:aboutUs]; 

Favorites* favorites = [[Favorites alloc] init]; 
UINavigationController *favoritesNav = [[UINavigationController alloc] initWithRootViewController:favorites]; 

NSArray* controllers = [NSArray arrayWithObjects:searchNav,nearbyNav,mapNav,aboutUsNav,favoritesNav, nil]; 
tabBarController.viewControllers = controllers; 

[window addSubview:tabBarController.view];  

당신은 따라서 당신이 탐색 컨트롤러 또는 단지 뷰 컨트롤러를 배치 할 탭에서 관리 할 수 ​​있습니다. 당신이 위에서 언급 한 뷰 컨트롤러의 각 그런

는 탭 이름과 이미지를 설정할 수있는

- (id)init {} 

를 구현해야합니다.

업데이트 :

- (id)init { 
     self.title = @"Second"; 
     UIImage* anImage = [UIImage imageNamed:@"3.png"]; 
     UITabBarItem* theItem = [[UITabBarItem alloc] initWithTitle:@"Second" image:anImage tag:2]; 
     self.tabBarItem = theItem; 
     [theItem release]; 
    return self; 
} 
+0

어떻게 탭 이름과 이미지를 설정합니까? –

+0

나는 나의 대답을 편집했다. 확인해 봐. – Nitish

+0

신속한 답장을 보내 주셔서 감사합니다. 내가 뭘 잘못하고 있는지 전혀 모른다. 이 일에 정말 새로운 것입니다. 내가 한 일로 내 질문을 편집 했으니 제발 한번보세요. 실행 중에 앱이 다운됩니다. –

1

그것의 더 나은보기를 여러 탐색은 UINavigationController와 함께 TabBar의 기반 응용 프로그램을 만들 수 있습니다 .

+0

곧 새롭게 다시 시작하는 지루한. 탐색에 문제가 없었기 때문에이 문제에 대한 빠른 해결책을 찾으려고했습니다. –

+0

처음부터 끝까지 신선한 것을 시작할 필요가 없습니다. 생성 된 뷰를 새로 생성 된 탭바 기반 응용 프로그램에 복사하여 붙여 넣기 만하면 너무 많은 수동 코드를 신경 쓰지 않아도됩니다. Anyways ... –

관련 문제