Image NavigationBar

Bonjour ,
Je voudrais mettre une image dans la navigationBar , seul problème est que je fais :
** setBackgroundImage(style.backgroundImage, for:UIBarMetrics.default)
** mon image est croppé , et sa ne rentre pas dans la zone de ma navigationBar j'ai donc essayé :
**setBackgroundImage(UIImage(named: "your_Background_Image_Name")?.resizableImage(withCapInsets: UIEdgeInsets.zero, resizingMode: .stretch), for: .default)
mais l'image est etiré et donc deformer .
ma question : est ce qu'il ya une possibilité de faire rentrer l'image correctement dans la zone de la navigationBar (par exemple: scaleAspectFit comme pour les uiimageView) ou faut il avoir une taille precise pour que l'image soit bien affiché dans la navigationBar ?

Mots clés:

Réponses

  • CéroceCéroce Membre, Modérateur

    il me semble que c'est juste la manière dont tu as utilisé la resizableImage qui n'est pas bonne. C'est bizarre de vouloir une image étirable sans parties fixes.

    Je te conseille de mettre l'image dans les Image.xcassets. Clique ensuite sur "Show Slicing" en bas à droite. Tu pourras alors régler l'image à la souris.

  • Merci pour ta reponse :)
    enfaite c'est la seule solution que j'ai trouvé pour faire entrer l'image dans le background de la navBar, si je defini pas l'image étant étirable le rendu sur la tabBar sera cropé et je n'aurai pas tout le contenu de l'image dans ma navBar ,
    J'ai finalement trouvé une solution sur le net qui marche , mais je ne sais pas si c'est propre ou pas :neutral:
    je constuis mon image en fonction des tailles :
    1) 320x44 => background.png
    2) 640x88 => background@2x.png
    3) 1334x183 => background@3x.png
    puis :
    setBackgroundImage(UIImage(named: "your_Background_Image_Name")?.resizableImage(withCapInsets: UIEdgeInsets.zero, resizingMode: .stretch), for: .default)

  • Joanna CarterJoanna Carter Membre, Modérateur

    Tu peux nous montrer ton image ?

  • Tu veux voir l'image croppé sur le telephone ? ou tu veux juste l'image ?

  • Joanna CarterJoanna Carter Membre, Modérateur

    Juste l'image

Connectez-vous ou Inscrivez-vous pour répondre.