3

動的テキストを含む CCLabelTTF があります。最大サイズが 200,200 だとしましょう。私はそれを作成します:

CCLabelTTF * label = [CCLabelTTF labelWithString:@"Hello!" dimensions:CGSizeMake(200,200) alignment:UITextAlignmentLeft lineBreakMode:UILineBreakModeWordWrap fontName:@"Helvetica" fontSize:15];

これはうまく機能します。

ただし、すぐ下に何かを配置する必要があるため、テキストの高さを知る必要があります。label.texture.contentSize、label.contentSize を試しました。どちらも 200,200 です。

ここで何ができますか?私はcocos2d 1.xを使用しています

4

2 に答える 2

6

NSStringのsizeWithFontメソッドを使用できます。

NSString *hello = @"Hello!"
UIFont *font = ...
CGSize *textSize = [hello sizeWithFont:font constrainedToSize:CGSizeMake(200, 200) lineBreakMode:UILineBreakModeWordWrap];

これにより、テキストの正確なサイズがわかります。

于 2012-09-21T02:02:09.883 に答える
1
UIFont * font = [UIFont fontWithName:@"HelveticaNeue" size:15];
CGSize realSize = [message sizeWithFont:font constrainedToSize:CGSizeMake(210, 200) lineBreakMode:UILineBreakModeWordWrap];    
label = [CCLabelTTF labelWithString:message dimensions:realSize alignment:UITextAlignmentCenter lineBreakMode:UILineBreakModeWordWrap fontName:@"HelveticaNeue" fontSize:15];

これは、@Benの回答に基づいて私がやったことです。それは完全に機能します!

于 2012-09-22T22:08:09.303 に答える