0

appdelegate に問題があります。ナビゲーションバーを追加したいのですが、うまくいきません。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

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

    UniversViewController *universViewController = [[UniversViewController alloc] initWithNibName:@"ProduitsListinTableViewController" bundle:nil];
    universViewController.title = @"univers";

    CategoriesViewController *categoriesViewController = [[CategoriesViewController alloc] initWithNibName:@"ProduitsListinTableViewController" bundle:nil];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:categoriesViewController];
    navigationController.title = @"categories";
    [navigationController setNavigationBarHidden:NO];

    ProduitsListinTableViewController *produitListe = [[ProduitsListinTableViewController alloc] initWithNibName:@"ProduitsListinTableViewController" bundle:nil];
    produitListe.title = @"troisième";

    _tabBarController.viewControllers = [NSArray arrayWithObjects:universViewController, categoriesViewController, produitListe, nil];

    [self.window setRootViewController:_tabBarController];
    [self.window makeKeyAndVisible];

    return YES;
}

に何かを追加する必要がありますか、UniversViewControllerまたはこれは appdelegate に直接ありますか?CategoriesViewControllerProduitsListinTableViewController

4

2 に答える 2

0

UINavigationControllerとUITabbarControllerの両方がある場合は、常にこのアプローチに従い
ます。ビューベースのアプリケーションから始める必要があります。次に、appDelegateファイルにUITabbarControllerを作成します。

Appdelegate.h

UITabBarController *tabBarController;
// set properties

Appdelegate.m

// Synthesize

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];    

したがって、ナビゲーションコントローラを配置するタブ、またはビューコントローラのみを配置するタブを管理できます。

次に、上記の各View Controllerで、実装する必要があります

- (id)init {}

タブ名と画像を設定できます。

私は常にこのアプローチに従い、失敗することはありません。タブは常に表示されます。コードに応じて変更を加えることができます。

于 2012-11-14T11:29:39.930 に答える