2010-08-24 16 views
0

Est-ce que quelqu'un sait si la uinvagitionbar d'un contrôleur d'uinavigation peut être déplacé vers le bas? Je voudrais le déplacer d'environ 200 pixels pour avoir un logo sur le dessus. De mes recherches, je comprends que la barre de navigation ne doit pas être sous-classée et qu'il n'y a que deux propriétés qui devraient être changées, c'est la couleur et la visibilité. Alors est-ce impossible?ipad iphone repositionnement barre d'uinavigation, déplacer vers le bas pour avoir un logo

J'ai essayé de déplacer son cadre, mais en vain.

J'ai vu d'autres applications le faire, mais je pense qu'il pourrait s'agir d'une barre d'outils? La barre d'outils peut-elle être repositionnée?

Merci

Répondre

0

il suffit de changer la taille du cadre du point de vue du contrôleur navigations.

 

CGRect frame = navigationController.view.frame; 
frame.size.height -= 200.0f; 
frame.origin.y += 200.0f; 
navigationController.view.frame = frame; 
 

Vous pouvez ensuite ajouter la vue que vous souhaitez à la vue ou à la fenêtre contenant la vue de navigationController.

Il ya cependant quelques petites choses à considérer si vous envisagez de le faire en présentant un contrôleur de vue modale.

+0

C'était ce que je cherchais! Merci! – user396004

+0

Donc, cela a fonctionné, mais à chaque fois que l'écran tourne, il se réaligne sur le dessus. Est-ce que je dois aller à chaque contrôleur de vue et changer la méthode de didrotate, ou est-ce qu'il y a une manière plus simple de le garder fixé là? Merci. – user396004

+0

Cela a-t-il quelque chose à voir avec les propriétés autoresizingmasks et autoresizesubview? Je tripote avec eux mais rien ne se passe. – user396004

0

Vous pouvez cacher la self.navigationController et mettre une autre barre de navigation dans le code qui se déplacera en fonction de votre jeu de cadre.

Oui, la barre d'outils peut être repositionnée. Il suffit de prendre un contrôle dans votre code et de définir son cadre selon vos besoins.

codage heureux ...