L'ajout de vue au-dessus de la barre des onglets contrôleur/manette de navigation?
J'ai essayé le code suivant, dans une tentative pour obtenir l'affichage personnalisé l'affichage au-dessus de la barre d'onglet contrôleur (qui arrive à avoir une manette de navigation dans tous les onglets).
Le problème est qu'il se superpose sur le dessus de la barre de navigation, et je veux que la barre de navigation pour être déplacé vers le bas.
J'ai essayé le cadre de l'onglet de la barre de contrôle, mais qui n'a pas bouger du tout.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Override point for customization after application launch.
//Add the tab bar controller's current view as a subview of the window
//self.tabBarController.view.frame = CGRectMake(0, 62, 320, 320);
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
//setting up the header view
self.headerView = [[HeaderView alloc] initWithFrame:CGRectMake(0, 20, 320, 42)];
[self.window addSubview:self.headerView];
//setting up facebook stuff
AgentSingleton *agentSingleton = [AgentSingleton sharedSingleton];
agentSingleton.facebook = [[Facebook alloc] initWithAppId:APP_ID];
return YES;
}
Des idées?
OriginalL'auteur xil3 | 2011-07-25
Vous devez vous connecter pour publier un commentaire.
Il n'y a pas vraiment une bonne façon de le faire. Les différents sous-vues de UINavigationController et UITabBarController sont à la fois privés, et en essayant de jouer avec eux est susceptible de ne pas fonctionner correctement. Et Apple ne nous donne pas les outils pour créer des "conteneur" afficher les contrôleurs, de sorte que vous ne pouvez pas facilement intégrer la UINavigationController/UITabBarController à l'intérieur d'un autre point de vue contrôleur ou recréer UINavigationController/UITabBarController vous-même.
Votre meilleur pari est probablement d'aller de l'avant et essayer de créer votre propre "conteneur" - vue-contrôleur, et de traiter avec certaines choses qui ne fonctionnent pas droit. En particulier, le contenu de l'affichage du contrôleur de
parentViewController
sera de retour néant, et, par conséquent, diverses autres choses sur le contenu de l'affichage du contrôleur ou de ses sous-contrôleurs sera brisé (par exemple, lainterfaceOrientation
propriété sera mauvais,presentModalViewController:animated:
peut ne pas fonctionner à droite). D'autres choses peuvent être cassé aussi.Ou vous pouvez attendre jusqu'à ce qu'une future version de l'iOS en fait a une prise en charge pour nous de créer un conteneur de vue des contrôleurs (si jamais), et ensuite appuyer uniquement cette version et.
OriginalL'auteur Anomie
Ajouter la vue à la tabBarController Vue elle-même:
OriginalL'auteur Sebyddd
Vous pourriez simple addSubview à la fenêtre:
Ne dis pas que c'est la bonne approche, mais à l'intérieur de la méthode viewDidLoad propriété de la fenêtre sera toujours nul. Ce besoin se fait à l'intérieur viewDidAppear méthode.
OriginalL'auteur Borut Tomazin
Vous pouvez faire quelque chose comme ça:
OriginalL'auteur Aleksey Shevchenko
Voulez-vous dire ci-dessus comme à la verticale au-dessus du reste du contenu?
Ou au-dessus comme en position assise sur le reste du contenu?
Il y a presentModalViewController:animation: mais je doute que c'est ce que vous voulez?
Je l'ai placée au sommet, mais au moment où il est couvrant la manette de navigation. J'ai besoin de pousser vers le bas la barre d'onglet contrôleur en quelque sorte...
Utiliser un modalViewController sur l'arrière-plan de la vue est le premier point de vue sur l'actuel-vue-contrôleur (quelque chose comme vue.superview.superview.superview jusqu'à son néant)
OriginalL'auteur Zhang
Je ne peux pas commenter alors je vais écrire ici pour quelqu'un d'autre qui vient à travers cette page. La réponse par Borut qui était en baisse voté était en fait le plus facile et le plus de la réponse correcte.
Il n'a tout simplement pas vous fournir le bon sens. Vous avez besoin d'ajouter l'affichage personnalisé de la Fenêtre de votre application qui est déclarée dans votre AppDelegate (en Mono ce serait AppDelegate.De la fenêtre.Ajouter(mavue), pas dans la Vue actuelle de la Fenêtre qui est nulle (par exemple ce.Vue.De la fenêtre).
Cela fonctionne bien dans Xamarin/Mono et je ne vois pas pourquoi ce ne serait pas la même pour Obj-C dans le code correct.
OriginalL'auteur xShinies