0
votes

How to aligh two CCLabelTtf vertically with different font size? Thanks

This is how I am creating labels:

for (int i = 0; i < 5; i++) {
        CCLabelTTF *label = [CCLabelTTF labelWithString:@"11km 90m" fontName:@"Limelight.ttf" fontSize:20];
        label.anchorPoint = ccp(0.5, 0.5);
        label.position = ccp((size.width-225)/2 + 30, size.height  - (size.height-260)/2 -i * 40 - 28);
         [self addChild:label];

        CCLabelTTF *label1 = [CCLabelTTF labelWithString:@"2013/11/22" fontName:@"Limelight.ttf" fontSize:15];
        label1.anchorPoint = ccp(0.5, 0.5);
        label1.position =  ccp(160 + 25, size.height  - (size.height-260)/2 -i * 40 - 28);
        [self addChild:label1];

        CCLabelTTF *label2 = [CCLabelTTF labelWithString:@"21 : 00" fontName:@"Limelight.ttf" fontSize:10];
        label2.anchorPoint = ccp(0.5, 0.5);
        label2.position =  ccp(size.width - ((size.width-225)/2 + 30) + 20, size.height  - (size.height-260)/2 -i * 40 - 28);
        [self addChild:label2];

    }

screen shot

1
and what seems to be the problem ?YvesLeBorg
label1, label2 and label3 are not aligned because of the different size font, the biggest font size is the higher label is (a little bit higher)Vervatovskis
@Yves I added a screen shot. ThanksVervatovskis
what version of cocos2d are you using ? it mattersYvesLeBorg
cocos2d version 1.0.1Vervatovskis

1 Answers

0
votes

With cocos2d 2.x, use the following :

CCLabelTTF *label = [CCLabelTTF labelWithString:inText
                                       fontName:_defaultMenuItemFont
                                       fontSize:_defaultMenuItemFontSize
                                     dimensions:inSize
                                     hAlignment:inAlignment

];
label.verticalAlignment = kCCVerticalTextAlignmentCenter;

i noticed that with one of the various 2.1 builds, you may have to do this AFTER setting the vertical alignment in order for it to work properly:

[label setString:inText];