1

我是一名iphone游戏开发者。现在我正在为儿童开发一个图书应用程序。为此,我需要更改 cclabel 的颜色以逐字更改背景中的文本。使其作为初始过程工作

    NSString *pstring1 = @"The moon is a big eye";
    int ix = 600,iy = 300;
    NSArray *str1 = [pstring1 componentsSeparatedByString:@" "];
    NSLog(@"str1 %@",str1);

    for(NSString* st in str1)
    {
    CCLOG(@"STRING IS %@ POSITION IS %d",st,ix);
     CGFloat wid= 0;   
    CGFloat ss = [st sizeWithFont: [UIFont systemFontOfSize:25]].width;
    wid = ss+(ss/10);
    CCLabelTTF * labels = [CCLabelTTF labelWithString:st fontName:@"Marker Felt" fontSize:25 ];
    [labels setPosition:CGPointMake(ix, iy)];

    [labels setColor:ccBLUE];
    ix+=wid+5; 

    [self addChild:labels];

例如,我用空格分隔了一个字符串并将其添加到 NSArray。在 for 循环中,我使用 sizeWithFont 逐个获取数组中字符串的文本宽度,并将其添加为 CGFloat 值。我正在为数组中的每个单词创建 cclabel 并根据单词的增加宽度大小保存在 CGFloat 中的数组的宽度。问题是每个 cclabel 之间有更多的空白,或者它相互合并。我不知道我是对还是错输出看起来像这样http://screencast.com/t/p8Rj8GKZ。请帮我解决这个问题。如果这个问题得到解决,意味着我将使用计时器并更改每个 cclabel 的颜色以显示单词到单词的颜色变化效果。

4

1 回答 1

1

最后我解决了我上面提到的问题

我刚刚将标签的内容大小设置为零,现在一个单词与另一个单词之间的所有不需要的空格都消失了

[标签 setContentSize:CGSizeZero];

于 2013-02-24T06:13:06.233 回答