Pour la barre de navigation, vous pouvez utiliser:
[navigationController.navigationBar setTintColor:[UIColor redColor]; //Red as an example.
Ceci teinter la couleur de la barre de navigation et tous ses boutons à une couleur spécifique, dans ce cas rouge. Cette propriété peut également être définie dans Interface Builder.
Et si vous souhaitiez le personnaliser davantage, vous pouvez définir l'arrière-plan du UINavigationBar
sur une image en le subdivisant. Comme si ...
Fichier d'en-tête.
#import <UIKit/UIKit.h>
@interface UINavigationBar (CustomImage)
@end
fichier implementaion.
#import "CustomNavigationBar.h"
@implementation UINavigationBar (CustomImage)
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{
if([self isMemberOfClass: [UINavigationBar class]]){
UIImage *image = [UIImage imageNamed:@"bar.png"];
CGContextClip(ctx);
CGContextTranslateCTM(ctx, 0, image.size.height);
CGContextScaleCTM(ctx, 1.0, -1.0);
CGContextDrawImage(ctx, CGRectMake(0, 0, self.frame.size.width, self.frame.size.height), image.CGImage);
}else{
[super drawLayer:layer inContext:ctx];
}
}
@end
Ensuite, dans Interface Builder, définissez la classe de vous UINavigationBar
(dans ce cas) CustomNavigationBar
sous l'onglet Identité.
Si vous modifiez légèrement le code de sorte qu'il sous-classe UITabBar
à la place, il peut fonctionner avec UITabBar
bien que je ne l'ai pas essayé.
si compliqué? : – 001
Bien que le réglage de la couleur de la teinte ne soit pas compliqué, la définition d'une image complètement différente est compliquée – Joshua
Même le code SetTintColor n'a pas fonctionné pour moi, j'ai essayé beaucoup de ces types de code et aucun n'a fonctionné. Hmm ... Je me demande si je ne le place pas correctement, mais les erreurs ne me dérange pas où je le place, ils suggèrent juste qu'il y a un identifiant manquant? – john