2010-05-11 3 views
0

Je suis coincé dans un problème très simple. Et j'ai peur que ma question puisse ennuyer certaines personnes. Le problème auquel je fais face est que je veux ajouter UITabBar Control à mon application iphone autre que l'écran principal. Laissez-moi vous expliquer, j'ai tout fait avec succès Ajout du contrôle UItabbar de IB dans le fichier xib de la fenêtre principale, ajout d'une variable à l'arrière, associée en faisant glisser la ligne. Ajout d'une variable UIWindow et écriture de ces lignes. Lorsque je lance l'application, une fenêtre vide apparaît et une barre d'onglets apparaît en bas. Mais le problème est que vous ne voulez pas que la barre d'onglets soit affichée sur mon premier écran (ou sur l'écran principal quand vous l'appelez). C'est en fait le 3ème, 4ème écran de mon application où je veux que la barre d'onglets soit affichée en bas. Il est si étrange que la variable de contrôle TabBar sont ajoutés dans les fichiers de l'application de délégué de l'application. Peut-on aider quelqu'un? Merci!Ajouter un contrôle UITabBar!

Taimur

Répondre

1

Malheureusement, la documentation UITabBarController énonce ce qui suit :

Lors du déploiement d'un ta Vous devez installer cette vue en tant que racine de votre fenêtre. Contrairement à d'autres contrôleurs de vue , une interface de barre d'onglets ne doit jamais être installée en tant qu'enfant d'un autre contrôleur de vue.

Bien qu'il soit techniquement possible d'ajouter le point de vue de UITabBarController en tant que sous-vue autre chose que le UIWindow, vous trouverez qu'il présente plus de défis que vous pourriez attendre. Par exemple, puisque UITabBarController suppose que le parent de sa vue est l'UIWindow en plein écran, il décalera sa trame de 20 pixels pour s'adapter à la barre d'état. Donc, ma recommandation pour vous est de proposer un design dans lequel la vue de votre UITabBarController est une sous-vue de l'UIWindow si possible. Cela ne signifie pas nécessairement qu'il doit être la première vue qui s'affiche. Vous pouvez toujours ajouter et supprimer des sous-vues de votre UIWindow dans des endroits autres que applicationDidFinishLaunching:

0

sur la fenêtre que vous voulez ajouter le contrôleur TabBar à, utiliser

[self.view addSubview:tabBarController.view]

au lieu de vos deux lignes ci-dessus