Cocos2d: How to Align CCLabelTtf vertically with different font size?

1.1k views Asked by At

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

There are 1 answers

3
YvesLeBorg On BEST ANSWER

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];