isFlipped non pris en compte par NSBox

Eddy58Eddy58 Membre
03:48 modifié dans API AppKit #1
J'ai une NSBox dans laquelle j'ajoute des vues par programmation. J'ai une sous-classe de celle-ci que j'appelle FlippedBox, dont le but est de changer le système de coordonnées en surchargeant la méthode isFlipped. Le isFlipped n'est pas pris en compte, les vues se positionnent comme s'il était à  NO, et pourtant il retourne bien YES quand je le teste.
Voici le code, on ne peut plus commun : 
[tt]
#import <Cocoa/Cocoa.h>

@interface FlippedBox : NSBox
{
}
@end




#import "FlippedBox.h"

@implementation FlippedBox

-(BOOL)isFlipped
{
return YES;
}

@end
[/tt]
Ensuite, par curiosité, je change la super-classe en NSView :
[tt]
#import <Cocoa/Cocoa.h>

@interface FlippedBox : NSView
{
}
@end
[/tt]
Là , le isFlipped est bien pris en compte, mais bien sûr le dessin de la NSBox ne se fait plus.

Je ne vois pas quoi faire pour le moment ???, à  part surcharger drawrect pour dessiner la NSBox moi-même tout en bénéficiant du isFlipped...

Réponses

  • AliGatorAliGator Membre, Modérateur
    août 2006 modifié #2
    A mon avis c'est plutôt la contentView de la NSBox (qui est une NSView aussi) qui est flipped ou pas, et pas la NSBox elle-même...
  • Eddy58Eddy58 Membre
    03:48 modifié #3
    Bien vu Ali, mais là  j'ai modifié tout mon système de customs views, en faisant des pseudos NSBox, dont je surcharge le drawrect, et ce n'est pas si mal finalement :)
Connectez-vous ou Inscrivez-vous pour répondre.