resize dans NSMatrix change la taille des NSCell
GG
Membre
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 :
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 :
Ai je oublié quelque chose ?
GG
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 /> ....<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
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
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.
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.