Je souhaite placer une image .png au milieu de la barre de navigation au lieu du titre écrit dans le texte. Pourriez-vous s'il vous plaît laissez-moi savoir comment faire cela?Comment mettre une image comme titre de la barre de navigation
Merci.
Je souhaite placer une image .png au milieu de la barre de navigation au lieu du titre écrit dans le texte. Pourriez-vous s'il vous plaît laissez-moi savoir comment faire cela?Comment mettre une image comme titre de la barre de navigation
Merci.
Set titleview du navigationItem
UIImage *image = [UIImage imageNamed:@"image.png"];
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:image];
Vous pouvez modifier toutes les vues d'un UINavigationBar. Si vous essayez de modifier le navigationBar dans un contrôleur de navigation faire:
self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"] autorelease];
Si vous créez le navigationBar vous faire la même chose, mais au lieu d'appeler self.navigationItem
appel: navigationBar.topItem
Quelle est la taille de UIImage doit être pour le titre ?? J'ai essayé avec 180 * 40 mais il devient flou. – Krunal
** self.navigationBar.topItem ** a fait l'affaire. Merci –
Recherche d'une réponse à cette question, j'ai trouvé une solution simple et agréable dans le Apple Discussions forum, remplaçant -(void)drawRect:(CGRect)rect
pour UINavigationBar
:
@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
UIImage *image = [UIImage imageNamed: @"NavigationBar.png"];
[image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
Je dirais que ce n'est pas la meilleure solution, puisque le Le titre peut être défini de toute façon et il ressemble plus à un hack mais il peut facilement résoudre le problème et cela fonctionne. –
Swift
suggéré cadrage Comprend/mise à l'échelle
let image : UIImage = UIImage(named: "image.png")!
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
imageView.contentMode = .ScaleAspectFit
imageView.image = image
self.navigationItem.titleView = imageView
Merci @ Michael-R .... Mais après avoir ajouté le code suivant mon titre de l'élément de navigation ne s'affiche pas – Cloy
Swift et iOS ont changé certains depuis la publication de cette réponse, je vais essayer et donner un coup d'oeil bientôt – rambossa
il devrait être ... cette solution est également pour les images floues .... –
mis à jour avec 2.x Swift
navigationItem.titleView = UIImageView.init(image: UIImage(named:"yourImageName"))
quelle est la taille de UIImage devrait être pour le titre ?? J'ai essayé avec 180 * 40 mais il devient flou. – Krunal
Cela fonctionne parfaitement dans iOS 7.1 (sans 'autorelease', bien sûr) La taille de mon image était 296x40px (2x) et il se montre parfait. Je vous remercie! – Alex
il suffit d'ajouter un conseil. Dans swift le code serait: laissez imgTitleBar = UIImage (nommé: "iphone-menu.png") self.navItem.titleView = UIImageView (image: imgTitleBar) –