Comment faire pour ajouter l'image de fond sur l'iphone de la barre de Navigation?
Je veux ajouter une image de fond de ma barre de navigation.
Est-il de droite?
//set custom background image
UIImageView *backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"NavigationBackground.png"]];
[self.navigationBar insertSubview:backgroundView atIndex:0];
[backgroundView release];
- Je préfère ce code, car les catégories d'utilisations ne sont pas recommandés! Vous verrez que cela fonctionne bien si vous l'utilisez.
InformationsquelleAutor Momi | 2009-11-07
Vous devez vous connecter pour publier un commentaire.
Voici le code à partir de la lien @luvieere mentionné.
Collez ce code dans les rootview contrôleur juste au-dessus
@implementation rootviewController
Comme de l'iOS 5, il est un moyen officiel pour ce faire. (voir Développeur iOS Bibliothèque)
Mais encore, de conserver l'ancien code pour la compatibilité descendante, sauf si vous voulez vraiment fossé iOS 4 et ci-dessous.
Votre code ne suffira pas à faire cela, vous aurez à écrire une catégorie dans l'ordre pour que cela fonctionne. Il existe deux approches quant à la façon dont vous devez le faire: la première consiste à faire de l'image une sous-vue de votre
UINavigationBar
et re-porter à l'avant dans chacun de vosUIViewController
'sviewDidAppear
méthode. Cela a toutefois été signalé avoir quelques problèmes avec la couverture du droitUIBarButtonItem
. L'autre méthode implique la substitution de- (void)drawRect:(CGRect)rect
et le dessin de l'image. Deux de ceux-ci sont largement couverts dans ce blog discussion..
La façon la plus simple est juste de définir la
UINavigationBar
contenu d'un calque.L'inconvénient est que les boutons ne sont pas générés à partir de la bonne teinte, mais vous pouvez définir la couleur de la barre de navigation à ce qui est le plus proche de votre bg de l'image et de la teinte doit être pris en charge.
QuartzCore
de la bibliothèque.Je voudrais faire cela dans l'appdelegate quelque chose comme
Et dans
.h fichier:
dans ios5 , j'ai mis la barre de navigation image d'arrière-plan(pour l'ensemble de la barre de navigation de l'image) dans
AppDelegate.m
:Lors de l'iphone 5, nous avons à définir à la fois du type d'appareil. Afin d'utiliser cette
Pour plus d'info, allez sur ce lien
Ce un travail bien dans iOS 6 et 7
Swift version :
Mis À Jour Swift 3.2 :
Vous pouvez également ajouter une catégorie qui s'étend de la UINavigationBar de classe et de remplacer les drawRect: méthode de la catégorie.
ce que j'ai fait était juste créé une UIImage à l'image que je voulais et ajouté à la barre de navigation de ce genre.
Lors de l'ajout de la Barre de Navigation image d'arrière-plan, vous devriez être très prudent à propos de ses dimensions. Assurez-vous d'avoir les dimensions suivantes pour les différentes tailles d'écran.
1) arrière-plan.png => 320x44
2) [email protected] => 640x88 //utilisé pour iPhone5 et de la rétine appareils
3) [email protected] => 1334x183 //utilisé pour iPhone6
Utilisez le code suivant pour ajouter l'image de fond et pour éviter toute carrelage dans la Barre de Navigation de l'image d'arrière-plan.
Essayer ce code dans votre AppDelegate Classe pour afficher une image dans la barre de navigation. Il vous aidera beaucoup.