setRowHeight dans une NSTableView
belt
Membre
Bonjour à tous.
J'ai expérimenté plusieurs façons de fixer la hauteur d'une ligne d'une NSTableView en fonction de la fonte affichée. Aucune n'est à 100% concluante. Ci-dessous mes différents essais. Qu'en pensez-vous ?
1) [ self setRowHeight : [newFont defaultLineHeightForFont] ] ;
2) [ self setRowHeight : [newFont defaultLineHeightForFont] + 2 ] ; ça marche à peu près.
3) Et puis pour finir, j'ai trouvé ça sur le www, mais c'est très moyen :
float ascender = [ newFont ascender] ;
float leading = [newFont leading] ;
float descender = ( [newFont descender] ) ;
float rowHeight = ascender + descender + leading + ([ newFont pointSize ] / 4.0) + 0.5 ;
float defaultLineHeight = [newFont defaultLineHeightForFont];
if ( rowHeight < defaultLineHeight ) rowHeight = defaultLineHeight ;
[ self setRowHeight : rowHeight ] ;
J'ai expérimenté plusieurs façons de fixer la hauteur d'une ligne d'une NSTableView en fonction de la fonte affichée. Aucune n'est à 100% concluante. Ci-dessous mes différents essais. Qu'en pensez-vous ?
1) [ self setRowHeight : [newFont defaultLineHeightForFont] ] ;
2) [ self setRowHeight : [newFont defaultLineHeightForFont] + 2 ] ; ça marche à peu près.
3) Et puis pour finir, j'ai trouvé ça sur le www, mais c'est très moyen :
float ascender = [ newFont ascender] ;
float leading = [newFont leading] ;
float descender = ( [newFont descender] ) ;
float rowHeight = ascender + descender + leading + ([ newFont pointSize ] / 4.0) + 0.5 ;
float defaultLineHeight = [newFont defaultLineHeightForFont];
if ( rowHeight < defaultLineHeight ) rowHeight = defaultLineHeight ;
[ self setRowHeight : rowHeight ] ;
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Plus précisemment, devrait te renvoyer cette hauteur correcte (à vérifier).
.