2010-11-22 29 views
0

HII, ilvue iphone problème de charge

Je fais une barre d'onglets application.In cette application sur le premier onglet J'utilise la navigation quand je navigue à vue et autre instantanément que je passe à un autre onglet. Et encore une fois quand je vais au premier onglet il me montre la vue de navigation Je veux montrer la première vue de l'onglet.

Quelqu'un peut me dire comment puis-je gérer ces choses ..

+1

Vous avez posé 16 questions, mais vous n'en avez pas encore marqué une seule avec la bonne réponse. Pour montrer votre gratitude aux personnes qui vous ont donné des conseils gratuits, je vous suggère de regarder à travers vos questions et voir si une réponse est assez bonne pour être marquée comme la bonne à votre question – willcodejavaforfood

Répondre

0

Demandez-vous comment passer d'un onglet à un autre dans le code? Si oui, il ressemble à ceci:

YourAppDelegate *appDelegate = (YourAppDelegate *)[[UIApplication sharedApplication] delegate]; 

[appDelegate tabcontroller].selectedIndex = [yourIntegerIndexHere]; 

Où il est dit « YourAppDelegate, » utiliser évidemment le nom de votre délégué application réelle.

Où il est dit "yourIntegerIndexHere", c'est un entier avec l'index de l'onglet que vous voulez utiliser. L'onglet le plus à gauche est 0.

+0

où je dois écrire ce code ?? dans chaque vue de navigation ?? comment ça marche. –

+0

Vous allez devoir expliquer ce que vous voulez faire. Je ne comprends pas vraiment de votre question initiale ce dont vous avez besoin.Si les utilisateurs tapent sur un onglet, la vue que vous avez créée dans Interface Builder associée à cet onglet. Le code que j'ai posté est de faire le même changement d'onglet mais avec du code au lieu des taps de l'utilisateur. –

0

C'est l'objectif principal de l'application basée sur les onglets que toutes vos vues soient sauvegardées jusqu'à ce qu'elles soient naviguées. Si vous souhaitez que la vue initiale soit présente lorsque vous appuyez sur la barre d'onglets, vous devez coder sur chaque tabulation pour afficher votre vue dans le premier onglet du contrôleur rootview pour cet onglet.

HEUREUX iCODING ...

0

Si je comprends bien, vous avez un NavigationController sur votre premier onglet de votre TabBarController et, lorsque vous cliquez sur le premier onglet, vous voulez que votre NavigationController pour revenir à sa racine Contrôleur de vue. Tout d'abord, sachez que ce n'est pas le comportement par défaut d'un TabBarController et que cela peut être un peu ennuyeux pour vos utilisateurs. L'utilisateur peut revenir à la vue racine d'un contrôleur de navigation dans un TabBarController en appuyant une seconde fois sur l'onglet.

Sachant cela, si vous voulez encore changer le comportement par défaut de votre TabBarController, voici ce que vous pouvez faire:

Définissez votre classe AppDelegate pour être le délégué de votre UITabBarController. Il doit mettre en œuvre le protocole UITabBarControllerDelegate, et vous devez écrire quelque chose comme ceci:

[myUITabBarController setDelegate:self]; 

dans votre méthode d'application didFinishLaunchingWithOptions:. Puis, implémentez cette méthode dans votre AppDelegate.

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { 
    if ([tabBarController selectedIndex] == kMyNavigationControllerIndex) { 
     [(UINavigationController *)[tabBarController selectedViewController] popToRootViewControllerAnimated:NO]; 
    } 
} 

kMyNavigationControllerIndex est une valeur constante contenant l'index de la NavigationViewController que vous souhaitez modifier (par exemple 0 si elle est le premier onglet).

Espérons que cela aide.