Добавление панели вкладок с 3 элементами в приложение на основе представления - PullRequest
2 голосов
/ 03 августа 2011

Итак, сейчас я создал приложение на основе представлений с 8 различными представлениями.Я хочу, чтобы он показывал панель вкладок для 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;
}

Ответы [ 2 ]

3 голосов
/ 03 августа 2011

Вам нужно начать с просмотра приложения. А затем создайте UITabbarController в вас appDelegate файл.

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;
}
1 голос
/ 03 августа 2011

Лучше создать приложение на основе вкладок вместе с UINavigationController для навигации по нескольким представлениям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...