resize dans NSMatrix change la taille des NSCell

GGGG Membre
16:58 modifié dans API AppKit #1
Bonjour à  tous,

dans une classe NSMatrix qui contient des NSImageCell, j'ai ajouté un resize (ajouter dans le centre de notification pour le flag :NSViewFrameDidChangeNotification).
Dans cette méthode je modifie la taille de la frame :
<br />- (void) resize:(id)obj {<br /><br />&nbsp; ....<br /> [self setFrameSize:newSize];<br />}<br />


Mais lorsque je redimensionne l'interface graphique de mon application, la taille des NSImageCell se modifie.
Alors que la méthode cellSize contenu dans ma NSMatrix retourne une NSSize identique à  chaque appel :
<br />- (NSSize)cellSize {<br />float width = 96.;<br />float height = 96.;<br />return NSMakeSize(width,height);<br />}<br />


Ai je oublié quelque chose ?

GG

Réponses

  • cdorecdore Membre
    16:58 modifié #2
    Salut

    as tu regardé cette méthode de NSMatrix ?

    setAutosizesCells:
    Sets whether the cell sizes change when the receiver is resized.

    - (void)setAutosizesCells:(BOOL)flag

    Parameters
    flag
    YES to specify that, whenever the receiver is resized, the sizes of the cells change in proportion, keeping the intercell space constant; further, this method verifies that the cell sizes and intercell spacing add up to the exact size of the receiver, adjusting the size of the cells and updating the receiver if they don't. If flag is NO, then the intercell spacing and cell size remain constant.

    Availability
    Available in Mac OS X v10.0 and later.

  • GGGG Membre
    16:58 modifié #3
    Merci pour ce conseil.
    En fait le fait de mettre le setAutosizesCells à  NO permet effectivement d'éviter le redimensionnement des NSImageCell mais ça efface la dernière ligne d'image est effacée. Et les cellules qui devaient être redéssinées  ont disparues.


    Je refais des tests pour voir d'où vient le problème.
    Merci de votre aide.

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