[Résolu] Design des boutons d'une NSToolbar

JegnuXJegnuX Membre
mai 2013 modifié dans API AppKit #1

Hello


 


J'ai bien peur de connaitre la réponse, mais je voudrais une confirmation :


 


Faut il se dessiner les boutons d'une NSToolbar entièrement ou le système se débrouiller tout seul avec les glyphs, comme sur iOS ?


 


En gros pour faire des boutons comme ça : 

Réponses

  • berfisberfis Membre
    mai 2013 modifié #2

    Non, tu fais des symboles, idéalement en pdf, tout noirs / transparents, tu donnes un nom de fichier qui se termine par -Template (style envoiTemplate.pdf et le système fait le reste. C'est magique...


     


  • JegnuXJegnuX Membre
    mai 2013 modifié #3

    Et ça marche dans une NSToolbar ça ? ça fait le contour du bouton et tout ? c'est surtout ça ma question...


     


    Là  je viens de tester, ça marche, mais y'a pas le contour du bouton comme dans Finder, Mail, Safari, etc...


     


    J'aimerais bien une UI consistante avec celle d'Apple.


  • berfisberfis Membre
    mai 2013 modifié #4

    Eh bien... c'est l'UI consistante avec celle d'Apple:


    https://developer.apple.com/library/mac/#releasenotes/Cocoa/AppKit.html


    https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSImage_Class/Reference/Reference.html


    Pas évident à  trouver, comme souvent dans la doc. Tu ne dessines QUE le symbole en noir, tu l'appelles d'un nom qui finit en Template, NSImage traite ton image pour rajouter le relief, et ton bouton/segmentedControl se dessine correctement, avec son "contour".


  • JegnuXJegnuX Membre

    Ayé j'ai réussi :D  


    Non mais en fait je galérai car je tentai de faire comme sur iOS : glisser le NSButton ou le NSSegmentedControl directement sur la ToolBar dans IB. Sauf que ça marchait pas alors je croyais que c'était pas possible.


     


    Mais en passant par le panel sheet customize toolbar machin, ça fonctionne. Et du coup oui, l'utilisation des template c'est nickel.


     


    Merci ! :)


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